自动布局按钮的正确定位



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

引导空间到16的父视图

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

我知道这些限制是实际数值,不同的iOS设备有不同的屏幕尺寸。我如何设置它,使按钮出现在相同的位置,相对于每个设备的屏幕尺寸?例如,如果我有一个按钮位于屏幕下方的四分之一处,我如何确保该按钮在所有设备上显示在屏幕下方的四分之一处?

我觉得可以写一整本书来介绍如何设置带有自动约束的屏幕

一个不需要代码的解决方案是:

把按钮放到UIView中。使用等高约束将视图的高度设置为等于控制器的高度。设这个约束的乘数为3/4。还要为视图添加前导、尾随和底部约束。现在把你的标签放到视图中,用前导,后导,顶部和底部约束将它固定在视图中。完成了。如果你的目标是iOS 9,使用LayoutGuide而不是UIView。

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

最新更新