我正在尝试使用界面生成器创建以下自动布局:
在视图的顶部:
- 适合设备宽度的图像视图
- 图像视图是方形的(高度也等于设备的宽度)
填充图像视图下方的其余空间:
- 3个等高按钮
- 它们一起填充了顶部正方形下方的其余空间
这可以仅在 IB 中完成吗?
-斯科特
我正在尝试使用界面生成器创建以下自动布局:
在视图的顶部:
填充图像视图下方的其余空间:
这可以仅在 IB 中完成吗?
-斯科特
不,它不能,因为您无法在界面生成器中表达关系约束。
除了图像视图的高度之外,您可以执行其他所有操作(几乎,请参见编辑)。您可以在视图上设置一个恒定的高度约束(可能设置为 iPhone 屏幕的宽度),然后为其创建一个出口。
在运行时,如果您在 iPad 上运行(我假设要求是在 iPad 和 iPhone 之间工作,而不是纵向和横向,因为您的描述对横向没有意义)然后删除此约束并添加一个新的固定图像视图的高度与其宽度相同。
以下是设置其余约束的方法。我假设您从一个仅包含其主视图出口的视图控制器开始。
你希望它看起来像这样:
出于某种原因,IB 在其中一个按钮上添加了高度限制,但不允许我删除。让三个按钮高度相等,并在运行时根据图像视图的间距和高度推导出每个按钮的高度似乎并不令人愉快。可能还需要在运行时删除该约束,或者我可能在一起抨击时遗漏了一些东西。无论如何,希望上面概述的原则是有帮助的。
要制作UIImageView
平方,您需要通过代码制作约束。我认为所有其他要求都可以在 IB 中涵盖,但就个人而言,我建议您通过编码来实现。
祝你好运。