UITextView文本开箱即用

时间:2016-08-26 19:15:19

标签: ios swift ios8 uitextfield ios-autolayout

我正在开发一款聊天应用。消息框根据文本的长度调整大小,但是当换行时文本开箱即用。

Print's

我尝试在textView.contentInset = UIEdgeInsetsZero方法中添加textViewDidChange,但它仍然不起作用。

功能:

func textViewDidChange(textView: UITextView) {

    let minSize = CGFloat(50)
    let maxSize = UIScreen.mainScreen().bounds.height - 50 - keyboardHeight
    let expectedSize = textView.contentSize.height + 9

    var newSize = expectedSize < minSize ? minSize : expectedSize
    newSize = newSize > maxSize ? maxSize : newSize

    acessoryViewH.constant = newSize

    textView.contentInset = UIEdgeInsetsZero
}

自动布局约束:

Constraint's

3 个答案:

答案 0 :(得分:0)

尝试添加textView.layer.masksToBounds = true

答案 1 :(得分:0)

尝试设置textView.clipsToBounds = true

答案 2 :(得分:0)

在textViewDidBeginEditing委托中添加此代码。这对我有用。

textView.contentInset = UIEdgeInsetsZero;

在viewDidload

[textView setClipsToBounds:YES];