当换行发生时,Swift3 iOS设置UITextView高度

时间:2017-03-16 12:41:17

标签: ios swift3 autolayout uitextview line-breaks

要使我的textView使用内容调整其高度,我使用以下代码:

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
    let contentSize = textView.sizeThatFits(textView.bounds.size)
    self.textViewHeight.constant = contentSize.height

    //textViewHeight is the height constraint of the textView defined in the storyboard.

    return true
}

问题在于它确实会在发生换行时识别出尺寸的变化。如果按回车键,则在添加其他字符之前不会调整大小。如果您为其创建足够的文本以进行换行,也会发生同样的情况。它只会在您输入另一个角色后调整大小。删除字符以删除行时也会发生同样的情况,您必须删除另一个字符才能调整高度。我觉得这看起来很草率,因为当你编写邮件时,iMessage和Whatsapp不会分享这种行为。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

使用以下代码:

super

快乐编码。