iOS自动布局在中央屏幕中有3个块

时间:2016-12-01 14:06:37

标签: ios xcode ios-autolayout

我有像图片一样的布局。这是4s的设计,当我在7或7s +运行时,我想要3个白色块作为4s的中心并增加尺寸以匹配新屏幕。有帮助吗?我使用Xcode 8.1。感谢

4S

iPhone 4s

7或7s +(失败)

enter image description here

7或7s +(我希望如此)

7 or 7s+ (I hope this)

1 个答案:

答案 0 :(得分:1)

将3个块放入具有所需间距的水平堆栈视图(UIStackView)中,然后将堆栈视图置于内容视图的中心。

编辑:

如果您需要支持早于iOS 9的iOS版本,则无法使用堆栈视图。在那种情况下,你的工作要复杂得多。

我所做的就是将我想要的视图放在另一个视图的中心,我在屏幕上水平居中。我称之为容器视图。

我会将您想要的视图均匀地调整为空白视图。"

我添加约束以将白色视图设置为固定宽度,并插入" spacer视图"每个白色视图之间。我在每个间隔视图上创建一个约束,将其宽度设置为等于所有其他间隔视图的宽度,并将每个视图的前导和尾随空间锁定到它的最近邻居。 (最外层的间隔视图是否锁定在他们的超级视图中。

如果您将间隔视图设置为固定宽度,并使容器视图的高度与白色视图的高度相匹配,请将其前缘连接到最左侧间隔的前缘查看并将其后缘连接到最右侧间隔视图的后缘,然后容器视图自动调整大小以包含所有白色视图和间隔视图,并保持居中,因此其中的视图保持居中

编辑#2:

参见这个线程,它说明了间隔方法和使用比例中心约束的另一种技术:

Evenly space multiple views within a container view