AutoLayout:如果需要,我可以指定应该打破哪个约束并设置备份吗?

Posted

技术标签:

【中文标题】AutoLayout:如果需要,我可以指定应该打破哪个约束并设置备份吗?【英文标题】:AutoLayout: Can I specify which constraint should break if needed and set a backup? 【发布时间】:2016-07-01 05:21:03 【问题描述】:

假设我有一个设置为(1000 优先级)为屏幕顶部下方 16 像素的 imageView。宽度和高度当前设置为 >= 75(1000 优先级),以及确保其均匀缩放的纵横比(1000 优先级)。

如果键盘向上滑动并使其使 imageView 需要小于 75,我希望能够指定 h/w 约束应该中断,并且理想情况下应该默认为一些备份约束 0/ 0.

换句话说,如果视图想要将 imageView 缩小到小于 75x75,视图应该获得 0/0 的新约束并消失。

现在当键盘向上滑动时,imageView 的底部约束被打破,而不是 w/h 约束。

请帮助我了解我在这里缺少什么。

【问题讨论】:

【参考方案1】:

您无法定义哪些约束将被打破。当键盘出现并禁用不应使用的约束时,而不是订阅通知,或者您可以将它们设置为 0。

【讨论】:

以上是关于AutoLayout:如果需要,我可以指定应该打破哪个约束并设置备份吗?的主要内容,如果未能解决你的问题,请参考以下文章

实现一个在autolayout下有宽度约束后,自动确定高度的view

我应该把 AutoLayout 代码放在哪里?

在iOS中使用autolayout调整内容大小的UILabel

UILabel preferredMaxLayout 打破了自我调整大小的单元格

如何使用 AutoLayout 均匀放置四个按钮? [复制]

有没有办法打破Visual Studio中执行的下一行代码?