代码之家  ›  专栏  ›  技术社区  ›  Jason90

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

  •  3
  • Jason90  · 技术社区  · 10 年前

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

    我将非常感谢在这方面的任何帮助。

    以下是消息字段的约束 Message field constraints

    3 回复  |  直到 10 年前
        1
  •  6
  •   Pranav Wadhwa    10 年前

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

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

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

    为视图创建高度限制条件。然后将该约束连接到代码。然后运行以下命令:

    heightConstraint.constant = textView.frame.size.height
    
        2
  •  2
  •   pajevic    10 年前

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

    从您的问题来看,还不清楚如何设置容器视图和文本视图的高度。在文本视图上应该有一个高度限制,并在要调整文本视图大小时更改其常量。不要直接更改框架。容器视图不能有高度限制-它应该只因文本视图的底部和顶部限制而调整大小。

        3
  •  1
  •   Bhadresh Kathiriya    10 年前

    没有自动布局代码:

    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);