AutoLayout正确定位按钮

时间:2015-07-12 17:45:27

标签: ios autolayout uikit

我有一个UIButton的视图。我添加了两个约束:

领先于16的超级视野 顶部空间到顶部布局265

根据我看的设备,按钮位于不同的位置。我能让它保持一致的唯一方法就是让它居中。因此,我通过设置垂直和水平距离来构建居中子视图的视图。

我知道这些约束是实际数字值,并且不同的iOS设备具有不同的屏幕尺寸。如何设置它以使按钮显示在相对于每个设备的屏幕尺寸的相同位置?例如,如果我的按钮位于屏幕的四分之一处,那么如何确保按钮在所有设备上显示屏幕的四分之一?

我觉得整本书都可以写成如何设置具有自动约束的屏幕。

1 个答案:

答案 0 :(得分:0)

没有代码的解决方案可能是:

将按钮放在UIView中。使用相等的高度约束将该视图的高度设置为等于控制器的高度。将该约束的乘数设置为3/4。还要向视图添加前导,尾部和底部约束。现在将您的标签放在视图中,并将其固定在具有前导,尾随,顶部和底部约束的视图中。完成。如果您的目标是iOS 9,请使用LayoutGuide而不是UIView。

可以使用代码完成更合适的解决方案:在控制器中创建按钮顶部约束的IBOutlet。将ViewDidLoad:方法中的IBOutlet常量更改为self.view.frame.height / 4.