Новичок, стремительный ученик и пользователь stackoverflow.Я практикую, как сделать приложение, и наблюдаю странное поведение с UITextView, которое я не могу исправить ...
Поведение связано с UITextView, где, если я нажимаю return, чтобы начать новыйтекст строки сдвигается вверх, и когда я нажимаю клавишу возврата (второй раз), текст сдвигается вниз.Фотографии ниже:
UITextView после первого нажатия клавиши возврата
UITextView после второго нажатия клавиши возврата
И это мой общий View Controller:
View Controller
UITextView находится внутри UIView.UIView имеет ограничение по высоте (self.heightConstraint.constant), равное 50, и увеличивается вручную в зависимости от размера UITextView.contentSize.height, а UITextView имеет установленную высоту 30, но никаких ограничений просто не закреплено сверху, снизу, слева, справа от UIView -Я хотел, чтобы высота увеличивалась в длину с UIView, поскольку текстовое представление изменилось.
Это мой код для textViewDidChange:
func textViewDidChange(_ textView: UITextView) {
if self.heightConstraint.constant >= 50 {
// 23 is to account for gap at top and bottom between UIView and UITextView
self.heightConstraint.constant = self.messageTextfield.contentSize.height + 23
self.view.layoutIfNeeded()
}
// Scroll to bottom
let indexPath = IndexPath(row: self.messageArray.count - 1, section: 0)
self.chatTableView.scrollToRow(at: indexPath, at: .bottom, animated: false)
}
Это на Xcode 10.2.1 и разрабатывается на версии iOS12.3.1
Я сталкивался с этим из предыдущего потока, который, кажется, описывает ту же самую проблему, с которой я столкнулся, но я не совсем уверен, как реализовать решение, представленное в ответе: Регулировка высоты UITextView для его текста не работает должным образом
Может ли кто-нибудь помочь мне выяснить, что мне не хватает, пожалуйста?Хотелось бы получить любой совет, чтобы сделать это лучше.Если я пропустил какую-либо информацию, пожалуйста, дайте мне знать, я буду рад добавить еще!