Максимальная высота 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);