У меня есть UITextView с ограничением высоты, чтобы приспособить высоту кадра к его контенту (в зависимости от длины строки). (Я использую автозапуск). Он работает нормально.Размер UITextView после установки его высоты в зависимости от его содержимого SWIFT
Но я не понимаю, что-то о размере TextView кадра.
поясните.
Я отображаю информацию о кадре после установки текста uitextview и после обновления ограничения.
override func viewDidLoad() {
...
self.textview.text = post.title
...
}
override func viewDidLayoutSubviews() {
let contentSize = self.textview.sizeThatFits(self.textview.bounds.size)
self.heightConstraint.constant = contentSize.height
self.textview.layoutIfNeeded()
print(self.textview.frame) // frame
print(self.textview.bounds) // bounds
}
Результат:
Для случая А:
(8.0, 0.0, 584.0, 97.0) //frame
(0.0, 0.0, 584.0, 97.0) //bounds
для случая B:
(8.0, 0.0, 584.0, 97.0) //frame
(0.0, 0.0, 584.0, 97.0) //bounds
Я не понимаю, почему высота рамы такая же в обоих случаях ???
Показать нам свои ограничения. Вам не нужно обновлять какое-либо ограничение в коде, чтобы получить результат, который вы хотите, если они правильно настроены (с правильной установкой приоритетов сжатия и обнимания). – jcaron
Есть ли какой-нибудь специальный случай, когда вы используете UITextView вместо UILabel? – DevAndArtist
Да, потому что мне нужно использовать exclusionPaths в textContainer, вокруг кнопки «Назад». – cmii