使用自动布局隐藏视图和相邻间隙
Posted
技术标签:
【中文标题】使用自动布局隐藏视图和相邻间隙【英文标题】:Hide a view and adjacent gap with autolayout 【发布时间】:2014-01-08 10:42:25 【问题描述】:我有以下视图配置:
有时我有一张图片要放在图像视图中,有时我没有。如果没有要显示的图片,我希望Title标签向右延伸,占据图片的整个空间以及标签和图片之间的空隙。我为图像视图的宽度分配了一个“小于或等于”约束,所以我猜如果图像视图的图像属性为空,它可能会得到零宽度。但是如何消除图像视图和标题标签之间的差距?我知道通过为间隙约束定义一个出口可以从代码中实现,但是是否可以通过更简单的方式,也许来自接口构建器?
【问题讨论】:
【参考方案1】:不,这在 XIB 中是不可能的。我已经提交了增强请求(甚至在发货之前就开始了)。多归档!获得的票数越多,发生的可能性就越大。
我们最终在 ImageView 的子类上添加了一个出口,我们指向我们想要离开的约束,并且在子类中当图像为 nil 时禁用约束(我们使用不同的技巧在不同的地方禁用它,因为没有一种简单的方法)。
【讨论】:
现在安装和卸载约束非常容易,但我还不知道有一种方法可以完全自动执行“图像为零,所以跳过这个约束”的事情。以上是关于使用自动布局隐藏视图和相邻间隙的主要内容,如果未能解决你的问题,请参考以下文章