如何随着textView的高度增加动态地改变textView的超级视图高度
我的屏幕底部有一个textView,它是containerView的子视图。这是聊天应用程序的文本输入部分。我想知道如何增加textView的容器视图的大小随着文本视图大小的增加。我正在使用自动布局。我已经使用下面的textView委托方法来调整textView的大小,它似乎工作正常。但无论我尝试什么,容器视图都不会改变大小。谢谢。如何随着textView的高度增加动态地改变textView的超级视图高度
func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool { messageTextView.frame.size.height = messageTextView.contentSize.height return true }
我必须为我的作品一样FUNC:
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
我刚试过这个,它适用于超视图。大小似乎如预期的那样增加。但现在我的textView没有增加。我添加了上面的代码。 – alionthego
,这是行不通的。 textView大小保持不变。我想知道这是否是我在故事板上的限制。目前我的textview的高度是> = 50.但它仍然在50. – alionthego
我想这是约束,我没有使用它们。不使用故事板它只是让一切都变得复杂得多 无论如何,无法帮助的比我想象的更多,抱歉(: –
好的。我通过不把textView放在另一个视图中解决了这个问题。我仍然有两个观点在同一个位置,但他们都只是主视图的子视图。没有一个在另一个里面。然后通过textView的contentSize.height更改每个视图的高度,这很好。
尝试messageTextView.sizeToFit() –
嗨。谢谢。我在上面的方法中尝试了这一点,但它没有改变任何东西。 – alionthego
当然,尝试添加messageTextView.layoutIfNeeded()后sizeToFit() –