我有一个网格单元格,主要是一张照片,底部有一个描述标签。使用自动布局,我想定义一些规则,以确保标签是最小尺寸(比如 30 像素高)或不可见。
也就是说,如果单元格缩小到描述变得难以辨认的程度,我希望它消失。
是否存在可以实现这一目标的约束和优先事项的组合?
我有一个网格单元格,主要是一张照片,底部有一个描述标签。使用自动布局,我想定义一些规则,以确保标签是最小尺寸(比如 30 像素高)或不可见。
也就是说,如果单元格缩小到描述变得难以辨认的程度,我希望它消失。
是否存在可以实现这一目标的约束和优先事项的组合?
我认为您不能仅通过设置一些约束来做到这一点。但是您可以为标签添加高度约束,使其在代码中可访问,将其设置为大于或等于您的最小尺寸(或者可能低于该最小尺寸)。这将确保它可以像以前一样调整大小。
之后添加一个键值观察,因为它是常量,并在观察方法中将视图的 alpha 设置为零(如果视图heightConstraint.firstItem
缩小到所需阈值以下,您可以通过调用来获取视图。(您也可以将其隐藏属性设置为 YES,但我'已经经历过隐藏视图在隐藏时无法正确调整大小,还没有弄清楚为什么)......
编辑:对不起,我明白了。错了,当然你必须观察标签框的实际高度而不是约束的常数,因为当标签调整大小时常数不会改变......