如何根据其中的元素更改UIView高度

时间:2016-05-23 21:11:07

标签: ios objective-c swift uiview uitextview

我正在创建一个聊天界面,并有一个UITextview和按钮,用于在UIView内发送消息。 UITextView的高度根据其内容大小而变化,但UIView高度不会随之改变。 Chat view

我将不胜感激。

以下是消息字段Message field constraints

的约束

3 个答案:

答案 0 :(得分:6)

如果您以编程方式创建了视图:

containerView.frame.size.height = textView.frame.size.height

如果您在情节提要中创建视图

为视图创建高度约束。然后将该约束连接到您的代码。然后运行:

heightConstraint.constant = textView.frame.size.height

答案 1 :(得分:2)

设置指定固定空间的自动布局约束,并将它们从UIView顶部固定到UITextView顶部,从UIView底部固定到UITextView底部。

从您的问题中不清楚如何设置容器视图和文本视图的高度。您应该在文本视图上有一个高度约束,并在想要调整文本视图大小时更改其常量。请勿直接更改框架。容器视图不能有高度约束 - 它应该仅仅因为文本视图的底部和顶部约束而调整大小。

答案 2 :(得分:1)

没有自动布局代码:

txtView.frame = CGRectMake(view.frame.origin.x + 8, view.frame.origin.y + 8, view.frame.size.width - 100, view.frame.size.height - 16);

btnSend.frame = CGRectMake(view.frame.size.width - 92, (view.frame.size.height/2) - 25, 84, 50);