Максимальная высота UITextView
Я использую UITextView
в своем приложении, и я устанавливаю его в зависимости от размера текста. Однако, если UITextView.size.height
больше 8192.0, текст просто исчезает.
Имеет ли максимальная высота UITextView
?
ИЗМЕНИТЬ
Я ценю все ответы до сих пор, но я уже могу установить кадр без проблем. Проблема в том, что если frame.size.height установлен больше 8192.0, текст полностью исчезает.
Я не уверен, что особенного в этом номере, но когда я устанавливаю фрейм с высотой, превышающей это число, он перестает работать.
Ответы
Ответ 1
Проверьте документацию
https://developer.apple.com/library/IOs/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html
Примечание. В iOS 2.x максимальный размер объекта UIView составляет 1024 x 1024 точки. В iOS 3.0 и более поздних версиях представления больше не ограничиваются этим максимальным размером, но все еще ограничены объемом памяти, которую они потребляют. В ваших интересах держать размеры размеров как можно меньше. Независимо от того, какая версия iOS запущена, вы должны рассмотреть вопрос о том, как использовать любой контент, который значительно больше размеров экрана.
Это означает, что это проблема памяти, а не определенная высота
Ответ 2
- (void)textViewDidChange:(UITextView *)textView
{
CGFloat fixedWidth = textView.frame.size.width;
CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
CGRect newFrame = textView.frame;
newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
textView.frame = newFrame;
}
Ответ 3
Используйте ниже код
CGSize titlesize = [TxtValue.text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:15.0f] constrainedToSize:CGSizeMake(UITextView.frame.size.width, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
UITextView.frame=CGRectMake(TxtValue.frame.origin.x, TxtValue.frame.origin.y, TxtValue.frame.size.width, titlesize.height);