UITextView高度调整不正确

时间:2019-07-02 21:23:45

标签: ios swift uitextview

此处是新手快速学习者和stackoverflow用户。我正在练习如何制作应用,并且正在使用UITextView观察到一种奇怪的行为,但似乎无法纠正...

此行为与UITextView有关,如果我按回车键以开始新行,则向上推文本;当我再次按回车键(第二次)时,文本将向下拉。请在下面找到图片:

UITextView after return key pressed for the first time

UITextView after return key pressed for the second time

这是我的整体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上并在iOS版本12.3.1上开发的

我确实从上一个线程中碰到了这个问题,该线程似乎描述了我遇到的完全相同的问题,但是我不确定如何实现答案中提供的解决方案:Adjusting height of UITextView to its text does not work properly

请问有人可以帮我弄清楚我所缺少的吗?也欢迎任何建议以更好的方式实施此建议。如果我错过任何信息,请告诉我,我很乐意添加更多信息!

0 个答案:

没有答案