Ios 与屏幕大小相关的约束

Ios 与屏幕大小相关的约束,ios,xcode,swift,constraints,grid-layout,Ios,Xcode,Swift,Constraints,Grid Layout,是否有一种方法可以根据设备的屏幕大小(如CSS中的百分比)更改约束?我有一个网格的图像,只有在设备上才好看。CollectionViewController会解决我的问题吗,或者可能会根据屏幕大小测试屏幕大小并链接到不同的Storyboard 使用故事板约束和编程 有许多方法,这只是我使用的方法: 1) 在情节提要中添加约束 2) 以编程方式访问视图控制器中的约束(在辅助编辑器中拖放) 3) 根据屏幕大小更改约束值 这4个约束会根据屏幕大小更改对象,但不应为此提供任何宽度或高度约束。上边缘

是否有一种方法可以根据设备的屏幕大小(如CSS中的百分比)更改约束?我有一个网格的图像,只有在设备上才好看。
CollectionViewController
会解决我的问题吗,或者可能会根据屏幕大小测试屏幕大小并链接到不同的
Storyboard

使用故事板约束和编程

有许多方法,这只是我使用的方法:

1) 在情节提要中添加约束

2) 以编程方式访问视图控制器中的约束(在辅助编辑器中拖放)

3) 根据屏幕大小更改约束值


这4个约束会根据屏幕大小更改对象,但不应为此提供任何宽度或高度约束。上边缘、前缘、后缘、下边缘。现在,您可以通过选择视图并单击“助手编辑器”,然后单击“自动”,然后单击“预览”,来检查它的外观。屏幕底部将有+号,单击该符号并添加要检查的设备。

查看WWDC关于如何处理自适应布局的大小类演示文稿。或者对superview设置等宽/等高约束,并为比率“Building Adaptive Apps with UIKit”应用乘数。还可以查看“Alternate View”示例代码。在不同设备上处理表或集合视图时,后者可能更有用。虽然有一种稍微不同的方法——我成功实现的方法——是在不同的数据源中进行交换。您如何测试屏幕大小。?它是如何工作的?因此,
UIScreen.mainScreen().bounds
返回屏幕尺寸。我们不太在乎这些是什么。只有我们将它们乘以
x/100
,其中
x
是您希望视图覆盖的维度的百分比。这有意义吗?这样,无论你使用什么样的iPhone,在上述情况下,视图都将覆盖85%的屏幕宽度
UIScreen.mainScreen().bounds
根据您使用的iPhone返回不同的维度我决定我应该使用集合视图,这就是我现在尝试实现的。这些代码应该放在哪些文件以及文件中的什么位置?
let screenSize: CGRect = UIScreen.mainScreen().bounds
imWidth.constant = screenSize.width * 0.85 // Make width 85% of Screen Width