Размер UIScrollView, соответствующий размеру UITextView

У меня есть UIScrollView с блоком текста в UITextView, Текст может быть любым количеством слов, поступающих с сервера.

Я хочу, чтобы представление прокрутки имело правильный размер прокрутки, соответствующий размеру UITextView,

Какова текущая практика, чтобы сделать это?

Скриншот:

введите описание изображения здесь

2 ответа

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

Вы можете использовать что-то вроде ниже, чтобы получить высоту для вашего textview

CGSize size = [@"Your string" 
           sizeWithFont:[UIFont fontWithName:@"TimesNewRomanPS-BoldMT" size:22] 
           constrainedToSize:CGSizeMake(500, CGFLOAT_MAX)];

_textView.frame = CGRectMake(x,y, width, size.height);  
_scrollview.frame = CGRectMake(x,y, width, size.height);  

или есть небольшой взлом, который вы можете использовать:p Используйте Label, чтобы получить высоту для вашего текстового представления.

   UILabel *tempLabel = [[UILabel alloc]initWithFrmae:_textView.bounds];
   tempLabel.numberOfLines = 0; // Important to do 
   tempLabel.text = @"Your Text";
   [tempLabel sizeToFit]; // This will resize your Label and now you can use it's height to manage your textView.

Теперь используйте высоту этого tempLabel

tempLabel.frame.size.height
Другие вопросы по тегам