iPhones(从5到6 Plus)与尺寸类别的比例布局
我已经通过了一些关于大小类的教程,但我仍然无法弄清楚一件事情。
iPhone 5,iPhone 6和iPhone 6 Plus具有完全相同的屏幕宽高比,所以我希望他们使用相同的内容布局。 我说的意思是与屏幕的宽度和高度成正比。
但! 我无法find一种方法使其与所有iPhone的成比例!
只有几个限制确实支持比例:“长宽比”,“相同宽度”+“乘数”,“相同高度”+“乘数”
约束,例如前沿,水平中心在容器中,所有引脚约束以逻辑点的绝对值进行操作,并且所有iPhone的屏幕在逻辑点上具有不同的大小; 从而我无法在所有的iPhone上实现相同的画面。
更新
我添加了一张图片来解释我想要达到的目的:
如果你想使用更大的屏幕,那么你可以简单地不包含启动文件或启动4.7“和5.5”设备的图像,他们将只使用放大的4“布局。
但请不要这样做。 屏幕可能具有相同的纵横比,但尺寸并不相同,对待它们会造成不良的用户体验。
我有一个类似的问题,并通过testing图像的屏幕高度(或宽度)来解决它,例如:
//iphone 5 if UIScreen.main.bounds.size.height == 568.0 { // your code here }
iphone屏幕高度如下:
iphone 5 = 568.0
iPhone 6 / 6s / 7 = 667.0
iphone 6/7 plus = 736.0
检查我为你制作的这个示例项目 。
假设你有一个button,然后按照我下面提到的步骤,使button的高度,宽度和位置与父视图成比例。
- 给你的button长宽比。
- 给宽度等于父视图的宽度。
- 在容器中水平添加约束中心,在容器中垂直居中添加。
- select您的button,然后去检查大小,并设置乘数的宽度(如0.3或0.4等)。
- 然后设置“alignment中心X到…”的倍数(如果你想让你的button左边的中心,然后设置乘数低于1像0.8,0.7,0.5等等如果你想让你的button在右边的中心然后像1.2那样设置乘数值大于1等)。
- 在步骤中设置“将中心alignment到…”的乘数值
它的全部完成..只要运行并检查。
希望这会帮助你。