繁体   English   中英

iOS标签和视图约束高度

[英]IOS Label and View constraints height

我对约束确实感到困惑,因为iOS,我读过很多文章,但是在尝试根据UILabel内容高度设置UIView的 Height约束时陷入困境。 我知道这是常见的问题,但是我真的不明白解决方案。 我以为这个问题的主要内容是约束优先级 ,但是我无法正确设置它们。 在一种情况下, UIView的高度不会更改为0,而在其他情况下, UILabel的高度没有任何意义。

所以。 我有:

  1. 具有高度限制和后代限制的UIView (如下)
  2. 高度= 32,宽度= 32,顶部= 10,左侧= 10,底部> = 10的 UIImageView
  3. UILabel左侧为UIImageView = 10,顶部= 10,右侧= 10,底部= 10

而且我要:

  1. 如果我要在UILabel中放置任何文本,我想根据UILabel内容大小的高度来动态调整UIView的高度。
  2. 如果UILabel中没有文字,我想将UIView的高度设置为0(完全隐藏UIView )。

UIImageView-只是图标。 如果没有文本,则必须缩小为0,如果有文本,则必须具有高度32,顶部约束10,底部约束大于或等于10。

UPD:

通过以编程方式添加高度约束来解决此问题。 (不喜欢这样)

如果正确设置优先级,则可以使约束完全控制标签,图像和视图的高度。

  • 将四个垂直边距优先级设置为小于1000(假设为999)
  • 将图像高度优先级也设置为999。
  • 将标签垂直拥抱优先级设置为1000
  • 设置图像高度小于或等于标签高度,优先级为1000
  • 使用优先级1000乘以1:10(或任何大数)将标签高度设置为小于或等于容器视图高度

像这样

在此处输入图片说明

视图是这个

在此处输入图片说明

和这个

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM