繁体   English   中英

不同设备尺寸的iOS自动布局约束值

[英]iOS Auto Layout constraints values for different devices sizes

我使用情节提要来布置视图。 我将视图置于约束中。 我有一个关于调整约束大小的问题。 如何在不编程if / else循环的情况下为不同的设备大小设置不同的约束常数。 有没有办法在情节提要中进行设置? 例如,对于父布局,我有一个最大约束,其常量值为10。这对于iPhone 5屏幕是可以的,但是在iPhone 6/6 plus屏幕上,它应该大于10。因此应该计算约束。 目前,我计算出这样的比例因子:

    let bounds = UIScreen.mainScreen().bounds;
    let width = bounds.size.width; 
    let scaleFactor = width/320; // 320 because base design was created for iPhone 5

   // calc top constraint connect from storyboard
  self.topConstraintView.constant = self.topConstraintView.constant * scaleFactor;

这样处理对不同设备的约束是否正确?

如何使用DeviceLayout https://github.com/cruisediary/DeviceLayout

只需使用IBInspectable为每个设备大小设置常量,而无需任何代码

在此处输入图片说明

在此处输入图片说明

通常,您可以使用类大小使用常见的600x600进行操作,还可以构建通用(iPad / iPhone)界面。 您可以找到大量的指南来实现它。 根据您要实现的目标(细节欠佳,更多文本..)以及可能的问题之一,它是正确处理方向布局(横向/纵向)的原因,因为在大型设备中,您多次必须将视图/对象居中。

有时最好(不要丢失细节,图像质量..)根据不同的设备尺寸实现不同的XIB,特别是当您必须使用自定义tableViewCells,imageViews时。

下面是iPhone的不同尺寸:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM