iOS :自适应视图大小以编程方式取决于 iphone 模型
iOS : Adaptative view size programmatically depending on iphone model
我正在以编程方式创建视图,它们像甲板一样相互堆叠。我希望它们具有与屏幕尺寸相关的特定尺寸。
我如何调整每个视图的框架,以便它们均匀布局并适应主屏幕尺寸(例如 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]:
[...]
}
谢谢
您可以使用它在运行时获取 window 大小:
CGRect windowRect = [[UIScreen mainScreen] bounds];
您必须手动实现您的布局机制。
如果父视图使用
自动布局
1) 生成您的观点
2) 生成约束(对于您需要的每个视图 - 宽度、高度、边距......或一些更高级的 "equality of sizes" 约束),这些约束将从 helper 获取实际常量 属性 值方法。
3) 辅助方法将根据屏幕比例和可见视图数计算特定的高度、宽度或任何其他常量。
4) 对视图应用约束
SPRINGS & STRUTS(布局视图的旧方法)
1) 生成您的观点
2) 为它们计算框架 ...对于框架成员值,使用来自辅助方法的动态计算值
3) 实施将使用屏幕尺寸的辅助方法..与自动布局相同 3)
4) 为所有视图设置正确的自动调整掩码。
我正在以编程方式创建视图,它们像甲板一样相互堆叠。我希望它们具有与屏幕尺寸相关的特定尺寸。
我如何调整每个视图的框架,以便它们均匀布局并适应主屏幕尺寸(例如 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]:
[...]
}
谢谢
您可以使用它在运行时获取 window 大小:
CGRect windowRect = [[UIScreen mainScreen] bounds];
您必须手动实现您的布局机制。
如果父视图使用
自动布局
1) 生成您的观点
2) 生成约束(对于您需要的每个视图 - 宽度、高度、边距......或一些更高级的 "equality of sizes" 约束),这些约束将从 helper 获取实际常量 属性 值方法。
3) 辅助方法将根据屏幕比例和可见视图数计算特定的高度、宽度或任何其他常量。
4) 对视图应用约束
SPRINGS & STRUTS(布局视图的旧方法)
1) 生成您的观点
2) 为它们计算框架 ...对于框架成员值,使用来自辅助方法的动态计算值
3) 实施将使用屏幕尺寸的辅助方法..与自动布局相同 3)
4) 为所有视图设置正确的自动调整掩码。