iOS - 当我在swift3中输入文本时,我想将UITextView高度从单行更改为某些固定高度

时间:2017-03-12 08:47:22

标签: ios swift constraints uitextview

当应用加载时,我需要在文本视图中显示1行。当用户在textview中输入更多单词时,我需要自动将高度从5行增加到6行,然后启用滚动。谁能帮我?

Image

1 个答案:

答案 0 :(得分:0)

如果你真的希望修复它,你总是可以在编辑开始时将textView的框架增加到固定的高度(textViewDidBeginEditing)。

但这意味着如果用户再次填满它,它就会保持这种状态。

您还可以跟踪编辑更改(editingChanged),如下所示:

func textViewDidChange(_ textView: UITextView) {
    let width = textView.frame.size.width
    let height = CGFloat.greatestFiniteMagnitude
    let textViewSize = textView.sizeThatFits(CGSize(width: width, height: height)
    var textViewFrame = textView.frame
    textViewFrame.size = CGSize(width: width, height: textViewFrame.height)
    textView.frame = newFrame
}