我正在开发一款聊天应用。消息框根据文本的长度调整大小,但是当换行时文本开箱即用。
我尝试在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
}
自动布局约束:
答案 0 :(得分:0)
尝试添加textView.layer.masksToBounds = true
。
答案 1 :(得分:0)
尝试设置textView.clipsToBounds = true
答案 2 :(得分:0)
在textViewDidBeginEditing委托中添加此代码。这对我有用。
textView.contentInset = UIEdgeInsetsZero;
在viewDidload
中[textView setClipsToBounds:YES];