使用 iOS 6 Auto Layout 相对于 superview 的大小定位视图

Posted

技术标签:

【中文标题】使用 iOS 6 Auto Layout 相对于 superview 的大小定位视图【英文标题】:Using iOS 6 Auto Layout to position view relative to size of superview 【发布时间】:2012-10-21 23:11:04 【问题描述】:

我希望对象的位置相对于超级视图的大小而不是绝对大小。

例如,我不想说一个元素是“距离顶部 50px”,我想说它是“向下的 1/3”。

有没有办法使用自动布局来做到这一点?如果没有,最好的方法是什么?

干杯

【问题讨论】:

【参考方案1】:

在 superivew 的高度约束中添加一个 Outlet,在 topspace 中添加一个 outlet 约束。在代码中设置topspace约束的常数为0.33 * superview的高度约束。

【讨论】:

【参考方案2】:

如果您使用 IB,只需将元素放置在您想要的位置并将其设置为将其 Top Space 保持为 Superview。对于 4 英寸和 3.5 英寸设备,这会将元素保持在距顶部该距离的位置。

【讨论】:

我的意思是我不希望这种情况发生,我希望元素在 3.5 英寸设备上距顶部 175 像素,或在 4 英寸设备上向下 200 像素.

以上是关于使用 iOS 6 Auto Layout 相对于 superview 的大小定位视图的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 6 中使用 Auto Layout 在 superview 中均匀分布相同大小的 UIView

使用Auto Layout中的VFL(Visual format language)--代码实现自动布局

iOS屏幕适配方案-Auto Layout

Xcode 6 Auto Layout - 所有设备的 UI 元素之间的恒定水平间距

iOS 开发实践之 Auto Layout

iOS,自动布局autoresizing和auto layout,VFL语言