iOS 关于size classes的一些核心背景--多屏幕适配的问题
2014-11-04 22:56
274 查看
现在有两种尺寸类型:水平(horizontal)和垂直(vertical),各有两种规格:常规(regular)和紧凑(compact)。当前的设备方向能够被各种尺寸组合所描述:
•Horizontal regular, vertical regular: 任意方向的iPad
•Horizontal compact, vertical regular: 竖屏iPhone
•Horizontal regular, vertical compact: 未知设备
•Horizontal compact, vertical compact: 横屏iPhone
对于iOS开发者来说,安卓平台下几乎无限种类的屏幕尺寸适配问题曾经臭名昭著。从iOS的角度去看,这确实曾经是个难题,因为iOS平台并没有提供太多解决方案以应对此事。
如果你尝试创建一个既支持iPhone又支持iPad的通用型应用,最终你将不得通过很多类似“if deviceType == kIpad” 的代码来实现。
自动布局(AutoLayout)是解决这个问题的第一步,而iOS 8下的size classes则是它的终结。在iOS 8的新特性中关于这一点的介绍可能缺乏吸引力,但无疑它是非常重要的。
Storyboard 和 nib文件现在已经支持这些size classes,所以你可以在同一个文件中考虑使用四种布局方式。在Interface Builder底部有控件允许你在每种组合间进行切换。
每一个控件或自动布局的约束可以在一个或多个size classes中存储,这意味着你不用写一行代码就可以根据设备类型或设备方向进行界面的定制:控件隐藏或显示、改变大小,改变对其方式等,所有这些你都可以在Interface Builder中完成
•Horizontal regular, vertical regular: 任意方向的iPad
•Horizontal compact, vertical regular: 竖屏iPhone
•Horizontal regular, vertical compact: 未知设备
•Horizontal compact, vertical compact: 横屏iPhone
对于iOS开发者来说,安卓平台下几乎无限种类的屏幕尺寸适配问题曾经臭名昭著。从iOS的角度去看,这确实曾经是个难题,因为iOS平台并没有提供太多解决方案以应对此事。
如果你尝试创建一个既支持iPhone又支持iPad的通用型应用,最终你将不得通过很多类似“if deviceType == kIpad” 的代码来实现。
自动布局(AutoLayout)是解决这个问题的第一步,而iOS 8下的size classes则是它的终结。在iOS 8的新特性中关于这一点的介绍可能缺乏吸引力,但无疑它是非常重要的。
Storyboard 和 nib文件现在已经支持这些size classes,所以你可以在同一个文件中考虑使用四种布局方式。在Interface Builder底部有控件允许你在每种组合间进行切换。
每一个控件或自动布局的约束可以在一个或多个size classes中存储,这意味着你不用写一行代码就可以根据设备类型或设备方向进行界面的定制:控件隐藏或显示、改变大小,改变对其方式等,所有这些你都可以在Interface Builder中完成
相关文章推荐
- iOS 关于字体根据不同屏幕尺寸等比适配的问题(zz)
- iOS关于iPhone6和iPhone6 Plus的屏幕适配问题
- iOS关于iPhone6和iPhone6 Plus的屏幕适配问题
- 关于安卓3.0以上的系统屏幕适配问题的一些心得
- iOS关于适配屏幕的问题_2
- 详解iOS 关于字体根据不同屏幕尺寸等比适配的问题
- iOS关于iPhone6和iPhone6 Plus的屏幕适配问题
- 关于安卓3.0以上的系统屏幕适配问题的一些心得
- iOS关于适配屏幕的问题_1
- Cocos2d-x适配IOS屏幕的问题
- IOS Orientation, 想怎么转就怎么转~~~ 此博文主要针对IOS应用, 是屏幕旋转相关问题的一个总结. 主要内容有: IOS5,6,7不同版的适配. 强制旋转和自动旋转.
- 关于android分辨率兼容(屏幕适配)问题
- 关于android屏幕适配的问题
- IOS开发:关于设置UIView的背景为图片的方法以及问题
- IOS APP开发UI上得尺寸注意问题(屏幕、适配、分辨率)
- iOS开发笔记--关于设置UIView的背景为图片的方法以及问题
- IOS开发屏幕适配问题(一)
- Android-关于屏幕适配的一些经验
- IOS开发:关于设置UIView的背景为图片的方法以及问题
- 关于IOS屏幕的旋转问题