【问题标题】:UITextView the text is going out of the boxUITextView 文本开箱即用
【发布时间】:2017-01-03 12:57:43
【问题描述】:

我正在开发一个聊天应用程序。消息框根据文本长度调整大小,但换行时文本超出框。

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

功能:

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
}

自动布局约束:

【问题讨论】:

    标签: ios swift ios8 uitextfield ios-autolayout


    【解决方案1】:

    尝试添加textView.layer.masksToBounds = true

    【讨论】:

    • 对不起,我已经编辑了答案。当然是masksToBounds
    • 谢谢,部分正确,但现在不是开箱即用的文本,而是顶部切割。
    【解决方案2】:

    尝试设置textView.clipsToBounds = true

    【讨论】:

    • 目前在 viewDidLoad 方法中
    【解决方案3】:

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

    textView.contentInset = UIEdgeInsetsZero;
    

    在 viewDidload 中

    [textView setClipsToBounds:YES];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-22
      • 2013-08-29
      • 2013-10-26
      • 1970-01-01
      • 2017-12-15
      • 2017-02-15
      • 2015-06-25
      • 2015-01-07
      相关资源
      最近更新 更多