Я уже делал несколько поисков в Stack Overflow и Google, но не смог найти решение моей проблемы.Autoresize UITextView и UIScrollView
У меня есть подробный вид продукта, который включает UIScrollView и несколько подзаголовков (UIImageView, UILabel, UITextView). Вы можете найти пример here.
Сначала я хочу авторизовать UITextView (а не сам текст!) До соответствующей высоты. Затем я хочу авторизовать весь UIScrollView так, чтобы он соответствовал высоте моего UITextView и элементов над ним. Я попытался следующий код:
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 кадр] .size.height), потому что моя мысль была: После того, как высоту myUITextView, добавить высоту других подвидов (98,0) к нему.
К сожалению, это не очень хорошо. В зависимости от содержимого UIScrollView он слишком короткий или слишком длинный. Я сделал некоторые протоколирование в результате чего высота UITextView всегда одинаков:
2010-01-27 14: 15: 45,096 MYAPP [1362: 207] [myUITextView кадр] .size.height: 367,000000
Спасибо!
Спасибо за помощь. Кажется, размерWithFont: forWidth: lineBreakMode: работает только для одной строки текста. Я пробовал размерWithFont: constrainedToSize: lineBreakMode: и это работает. Иногда он не вычисляет правильную высоту. Я думаю, это из-за некоторых разрывов строк в моем текстовом источнике, поэтому я добавил 30 пикселей к кнопке. – dennis3484
Я только что проверил документы, и вы абсолютно правы, извините! У меня были проблемы с этим, иногда возвращали неправильную высоту, и я использовал точно такое же решение, что и вы, - добавьте 30px :) – deanWombourne