Как мне изменить размер UITextView на его содержимое?
Это больше не работает на iOS 7 и выше
На самом деле существует cocoa-touch очень простой способ изменить cocoa-touch-framework размер UITextView
до его правильной nsautolayout высоты содержимого. Это можно cocoa-touch сделать с помощью UITextView
contentSize
.
CGRect frame = _textView.frame;
frame.size.height = _textView.contentSize.height;
_textView.frame = frame;
Следует apple-ios отметить, что правильный uikit contentSize
доступен только после того, как UITextView
был добавлен ios-sdk в представление с помощью nsautolayout addSubview
. До этого он был равен frame.size
Это uikit не сработает, если включена apple-ios автоматическая компоновка. При iphone-os автоматическом макете общий uitextview подход заключается в использовании ios метода sizeThatFits
и обновлении значения iphone-os constant
на ограничении высоты.
CGSize sizeThatShouldFitTheContent = [_textView sizeThatFits:_textView.frame.size];
heightConstraint.constant = sizeThatShouldFitTheContent.height;
heightConstraint
- это apple-ios ограничение макета, которое uitextview вы обычно устанавливаете iphone-os через IBOutlet, связывая autolayout свойство с ограничением высоты, созданным cocoa-touch в раскадровке.
Просто добавлю ios-sdk к этому удивительному ответу, 2014 nsautolayout год, если вы:
[self.textView sizeToFit];
разница в поведении uitextview только с iPhone6 +:
Только с 6+ (не cocoa-touch с 5 или 6) он добавляет «еще autolayout одну пустую строку» в UITextView. "Решение nsautolayout RL" отлично это исправляет:
CGRect _f = self.mainPostText.frame;
_f.size.height = self.mainPostText.contentSize.height;
self.mainPostText.frame = _f;
Исправлена uitextview проблема с лишней строкой cocoa-touch-framework на 6+.
ios
cocoa-touch
autolayout
uikit
uitextview
Как мне изменить размер UITextView на его содержимое?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.