我过去曾经使用过自动布局,但从来没有真正需要根据屏幕尺寸调整元素间距的设计,而且我对如何执行此操作的约束感到迷茫。
这就是我的元素的布局方式:
以下是它在预览中的外观:
正如您所看到的,它在2个较大的屏幕上看起来很好,但一旦达到4英寸,2个链接就会叠加在一起。顺便设置的方式是从登录标签到忘记密码?链接是基于顶部布局指南,还没有帐户?标签注册通过Facebook按钮基于底部布局指南。
无论如何,我可以在所有设备上获得相同(或至少接近)的间距吗?
提前感谢您的帮助!
答案 0 :(得分:2)
使用允许变量定位的约束(例如≤,和≥)。
要创建这样的变量约束,创建一个等于约束的法线,然后转到界面构建器中右侧实用程序侧栏的约束选项卡。单击刚刚创建的约束并想要更改为变量约束,然后单击"编辑"。您可以在"常量"。
旁边的下拉菜单中更改约束类型
如果您还有其他问题,请随时提出。
答案 1 :(得分:0)
我有同样的问题, 但是我已经提到了稍微不同的方法。我使用以下代码并根据设置坐标获取屏幕大小。
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height==480){
//give coordinates and size for iPhone 4
}
else if (screenBounds.size.height==568){
//give coordinates and size for iPhone 5 and 5s
}
else {
//give coordinates and size for iPhone 6
}
希望这会对你有所帮助