Высота UITextView не корректируется должным образом - PullRequest
1 голос
/ 03 июля 2019

Новичок, стремительный ученик и пользователь 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 для его текста не работает должным образом

Может ли кто-нибудь помочь мне выяснить, что мне не хватает, пожалуйста?Хотелось бы получить любой совет, чтобы сделать это лучше.Если я пропустил какую-либо информацию, пожалуйста, дайте мне знать, я буду рад добавить еще!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...