通过自动布局创建至少最小尺寸或不可见的视图

时间:2012-10-25 18:15:30

标签: ios autolayout

我有一个主要是照片的网格单元格,底部有描述标签。 使用自动布局,我想定义一些规则,以确保标签是最小尺寸(比如30px高)或不可见。

也就是说,如果细胞缩小到描述难以辨认的程度,我希望它消失。

是否存在限制因素和优先级的组合才能实现这一目标?

1 个答案:

答案 0 :(得分:0)

我不认为你可以通过设置一些约束来做到这一点。但是您可以为标签添加高度约束,使其可以在代码中访问,将其设置为大于或等于最小大小(或者可能低于该值)。这将确保它允许以与之前相同的方式调整大小。

之后为其常量添加键值观察,并在观察方法中将视图的alpha设置为零(如果缩小到所需阈值以下,则可以通过调用heightConstraint.firstItem来获取视图。(您也可以设置这是YES的隐藏属性,但我已经体验到隐藏的视图在隐藏时没有正确调整大小,还没弄明白为什么呢......

编辑:Sry我得到了......错了,当然你必须观察标签框架的实际高度而不是约束的常数,因为当标签调整大小时,常量不会改变......