Tôi đã thực hiện một số tìm kiếm trên Stack Overflow và Google, nhưng tôi không thể tìm thấy giải pháp cho vấn đề của mình.Tự động hóa UITextView và UIScrollView
Tôi có Chế độ xem chi tiết cho một sản phẩm bao gồm UIScrollView và một vài bản phụ (UIImageView, UILabel, UITextView). Bạn có thể tìm thấy một ví dụ here.
Trước tiên, tôi muốn tự động chỉnh sửa UITextView (không phải văn bản chính nó!) Ở độ cao tương ứng. Sau đó, tôi muốn tự động hóa toàn bộ UIScrollView để nó phù hợp với chiều cao của UITextView của tôi và các phần tử ở trên nó. Tôi đã thử đoạn mã sau:
myUITextView.frame = CGRectMake(2.0, 98.0, 316.0, self.view.bounds.size.height);
[scrollView setContentOffset:CGPointMake(0.0, 0.0) animated:NO];
scrollView.contentSize = CGSizeMake(320.0, 98.0 + [myUITextView frame].size.height);
[self.view addSubview:scrollView];
98,0 + [myUITextView khung] .size.height) vì suy nghĩ của tôi là: Sau khi nhận được chiều cao của myUITextView, thêm chiều cao của subviews khác (98,0) cho nó.
Rất tiếc, nó không hoạt động tốt. Tùy thuộc vào nội dung của UIScrollView, nó quá ngắn hoặc quá dài. Tôi đã làm một số khai thác gỗ với kết quả là chiều cao của UITextView luôn giống nhau:
2010-01-27 14: 15: 45,096 MyApp [1362: 207] [myUITextView khung] .size.height: 367,000000
Cảm ơn!
Cảm ơn sự giúp đỡ của bạn. Có vẻ như sizeWithFont: forWidth: lineBreakMode: chỉ hoạt động cho một dòng văn bản. Tôi đã thử sizeWithFont: constrainedToSize: lineBreakMode: và nó hoạt động. Đôi khi nó không tính chiều cao chính xác. Tôi đoán đó là vì một số ngắt dòng trong nguồn văn bản của tôi vì vậy tôi đã thêm 30 px vào nút. – dennis3484
Tôi vừa kiểm tra các tài liệu và bạn hoàn toàn đúng, xin lỗi về điều đó! Tôi đã có vấn đề với nó đôi khi trở về chiều cao sai quá và tôi sử dụng chính xác cùng một giải pháp bạn đã làm - thêm 30px :) – deanWombourne