Установка высоты UITextView в соответствии с высотой содержимого в Objective c - PullRequest
0 голосов
/ 11 октября 2011

У меня есть код, указанный ниже для моей настройки UITextView.

CGRect itemDescFrame = CGRectMake(20, 160, 280, 200);
UITextView *itemDesc = [[UITextView alloc] initWithFrame:itemDescFrame];
...
itemDesc.editable = NO;
itemDesc.scrollEnabled = NO;
...

Я отключил полосу прокрутки UITextView, однако часть содержимого внизу скрыта. Как я могу установить высоту UITextView, чтобы соответствовать высоте содержимого?

Спасибо

UPDATE:

NSLog(@"frame %@", itemDesc.frame.size.height);
NSLog(@"content %@", itemDesc.contentSize.height);

Результат:

2011-10-11 11:00:18.010 abc[1606:207] frame 200.000000
2011-10-11 11:00:18.010 abc[1606:207] content 200.000000

Ответы [ 2 ]

3 голосов
/ 11 октября 2011

В качестве подкласса UIScrollView, UITextView имеет свойство с именем contentSize, которое, в случае UITextView, должно быть размером, занимаемым текстом после помещения его в представление. Попробуйте установить высоту рамки текстового представления на высоту contentSize.

0 голосов
/ 30 мая 2014

Просто добавьте эту строку кода, чтобы заставить рамку обновлять свой размер в зависимости от высоты текста, который он содержит:

[self.myTextView sizeToFit];

Обратите внимание, что если вы хотите добавить дополнительные отступы, вы можете установить textContainerInset.

Вы захотите назвать это, когда текстовое содержимое изменяется и при повороте. Чтобы было легче увидеть регулировку высоты, установите цвет фона на UITextView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...