iOS:根据iphone型号以编程方式调整视图大小

时间:2015-03-03 16:15:54

标签: ios iphone swift layout autolayout

我以编程方式创建视图,它们像甲板一样堆叠在一起。我希望他们对屏幕尺寸有特定的尺寸。

如何调整每个视图的框架以使它们均匀布局并适应主屏幕尺寸(例如iPhone 4)或任何其他iPhone屏幕尺寸?

目前,我有这段代码:

var frame = CGRectMake(0, 0, 300, 435)
switch [iphone model] {
  case [iphone4]:
    frame.size.height = frame.size.height * [sizeFactor]
    frame.size.width = frame.size.width * [sizeFactor]
  case [iphone5]:
    [...]
}

由于

2 个答案:

答案 0 :(得分:0)

您可以使用它来在运行时获取窗口大小:

CGRect windowRect = [[UIScreen mainScreen] bounds];

答案 1 :(得分:0)

您必须手动实施布局机制。

如果父视图使用

<强>自动版式

1)生成你的观点

2)生成约束(对于你需要的每个视图 - 宽度,高度,边距......或一些更高级的“大小相等”约束),它将从辅助方法中获取实际的常量属性值。

3)辅助方法将根据屏幕与可见视图数量的比率计算特定高度,宽度或任何其他常量。

4)对视图应用约束


SPRINGS&amp; STRUTS (布局视图的旧方法)

1)生成你的观点

2)为它们计算帧...对于帧成员值,使用来自辅助方法的动态计算值

3)实现将使用屏幕大小的辅助方法..相同为自动布局3)

4)为所有视图设置正确的自动调整遮罩。