По умолчанию contentView UITextView становится с возможностью прокрутки, когда существует слишком много текста для вписывания в textview на основе, он - высота.
Я хотел бы отключить это и вместо этого, обновить высоту UITextView для вписываний в текст. Причина я делаю это, состоит в том, потому что я добавляю UITextView как подпредставление UIScrollView, который должен обработать прокрутку, во многом как в собственном Почтовом приложении (когда Вы вводите текст, целые прокрутки представления, не просто textview.
Кто-либо получил некоторое представление / столкнулся с той же проблемой прежде?
Это очень просто сделать так:
CGRect frame = textView.frame;
frame.size = textView.contentSize;
textView.frame = frame;
Это должно установить высоту текстового представления, чтобы она соответствовала всему его содержимому.
Несколько небольших изменений:
-(void)textViewDidChange:(UITextView *)textView {
CGFloat fontHeight = (textView.font.ascender - textView.font.descender) + 1;
CGRect newTextFrame = textView.frame;
newTextFrame.size = textView.contentSize;
newTextFrame.size.height = newTextFrame.size.height + fontHeight;
textView.frame = newTextFrame;
}
Добавление высоты шрифта дает место для поля автокоррекции, когда вы пишете что-то неправильно.
В UITextView
также следует установить не прокрутку:
[aTextView setScrollEnabled:NO];