我需要使用单个 UIControl 自动布局 Storyboard UIView。 UIControl 应该居中,需要具有 1:1 的纵横比,并且应该始终使用 90% 的 super View 宽度或高度,具体取决于设备方向而不进行剪裁。
我添加了 4 个约束
此设置在纵向模式下工作正常,但在横向模式下失败。 (见下图)
我需要什么样的约束来解决这个问题。如果设备旋转,我是否必须更改约束?
人像模式
横向模式 - 错误
横向模式 - 样机。这就是我想要的。
最佳答案
这是一种方法:
现在,当您处于纵向时,Auto Layout 将能够像以前一样将红色框的宽度设为 90%,从而满足您的所有约束。当您切换到横向时,等高约束将确保红色框不会超过高度的 90%,因为此约束具有 1000 优先级,但自动布局也会使框尽可能大以尝试最好地服务于等宽约束。
关于具有相对宽度/高度的 IOS8 自动布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30439214/