如何在textView的高度增加时动态更改textView的超视图高度

时间:2015-07-19 18:53:35

标签: ios xcode swift textview superview

我的屏幕底部有一个textView,它是一个containerView的子视图。这是聊天应用的文本输入部分。我想知道在文本视图大小增加时如何增加textView容器视图的大小。我正在使用autolayout。我使用了以下textView委托方法来调整textView的大小,它似乎工作正常。但无论我尝试什么,容器视图都不会改变大小。谢谢。

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
    messageTextView.frame.size.height = messageTextView.contentSize.height
    return true
}

2 个答案:

答案 0 :(得分:1)

好。我只是不将textView放在另一个视图中解决了这个问题。我仍然将两个视图放在同一个位置,但它们都只是主视图的子视图。两个都不在另一个里面。然后通过textView的contentSize.height更改每个视图的高度可以正常工作。

答案 1 :(得分:0)

我有同样的功能对我有用:

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {

    var height = self.noteValueLabel!.contentSize;
    textView.sizeToFit();

        super.frame.size.height+=textView.frame.maxY - super.frame.height + 3.0;
    }

当noteValueLabel是UITextView时,它对我有用 和super.frame.size是你的messageTextView