Размер 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