【发布时间】:2015-05-04 09:18:03
【问题描述】:
我正在以编程方式创建视图,它们像甲板一样堆叠在一起。我希望它们具有与屏幕尺寸相关的特定尺寸。
我如何调整每个视图的框架以使其布局均匀并适应主屏幕尺寸(例如 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]:
[...]
}
谢谢
【问题讨论】:
-
嗯,原则上你已经正确回答了自己。具体是什么问题?
-
我自己回答了?我不认为我已经弄清楚如何确定有关 iphone 型号的 sizeFactor 以及如何为 iphone 型号打开参考值
-
好的,那么问题应该问“如何以编程方式检测 ios 设备型号?”。因为显然您了解 switch 并且知道如何分配新帧。对吗?
-
不,问题是我问的,或者如果您更喜欢:“如何使视图框架的大小根据设备的屏幕大小而变化”。在 IB 中,您有自动布局约束,但是当您必须以像素为单位设置特定大小时,当您以编程方式创建视图时如何做到这一点?我以 switch 为例,但我想应该有一些东西,比如 IB 中的自动布局,而不是通过 if/switch 来做到这一点
标签: ios iphone swift layout autolayout