IOS6和IOS7的适配问题
2015-11-18 14:29
120 查看
之前做的项目支持的最低版本为IOS6.0,所以整理一些IOS6的适配问题(IOS6和IOS7)之间的区别.
IOS6和IOS7的坐标:
IOS6视图View 的坐标是从导航栏(高度 44)下面开始计算的,没有导航栏的坐标是从状态栏下面开始计算坐标.
IOS7视图View 的坐标是从状态栏(高度 20)下面开始计算.没有导航栏的情况下坐标是从左上角开始计算的. IOS7 中苹果引入了一个新的属性 setEdgesForExtendedLayout, 它的默认值:UIRectEdgeAll,如果容器是navigationController, 默认的布局是从导航栏的顶部开始的也就是状态栏的底部, 所以所有的UI元素会往上移动 44pt.
IOS7 中如果希望视图是从导航栏的下面开始的解决办法如下:
self.edgesForExtendedLayout = UIRectEdgeNone;
这样就可以达到和IOS6 一样的效果.
2.IOS6 比如:UILabel的background的背景颜色默认是白色
IOS7 下面UILabel的背景颜色是:clearColor 所以为了在IOS6和IOS7都能达到完美的效果都 设置为:clearColor.
3.IOS6中模态出的ViewController,默认是全屏的,在IOS7系统中药获得相同的效果,可以这样设置:
- (BOOL)prefersStatusBarHidden
{
return YES;
}
IOS6和IOS7的坐标:
IOS6视图View 的坐标是从导航栏(高度 44)下面开始计算的,没有导航栏的坐标是从状态栏下面开始计算坐标.
IOS7视图View 的坐标是从状态栏(高度 20)下面开始计算.没有导航栏的情况下坐标是从左上角开始计算的. IOS7 中苹果引入了一个新的属性 setEdgesForExtendedLayout, 它的默认值:UIRectEdgeAll,如果容器是navigationController, 默认的布局是从导航栏的顶部开始的也就是状态栏的底部, 所以所有的UI元素会往上移动 44pt.
IOS7 中如果希望视图是从导航栏的下面开始的解决办法如下:
self.edgesForExtendedLayout = UIRectEdgeNone;
这样就可以达到和IOS6 一样的效果.
2.IOS6 比如:UILabel的background的背景颜色默认是白色
IOS7 下面UILabel的背景颜色是:clearColor 所以为了在IOS6和IOS7都能达到完美的效果都 设置为:clearColor.
3.IOS6中模态出的ViewController,默认是全屏的,在IOS7系统中药获得相同的效果,可以这样设置:
- (BOOL)prefersStatusBarHidden
{
return YES;
}
相关文章推荐
- iOS应用发布中的一些细节
- iOS开发代码自动布局NSLayoutConstraint
- iOS GCD创建标准定时器,进入后台后任可继续定时,无需开启后台任务
- 利用NSCache提升效率
- iOS ---对json数组的解析
- nagios_client_V2_sh
- iOS: Crash文件解析
- IOS-使用系统默认声音、震动
- iOS开发 -- 添加自定义ttf字体的方法
- iOS菜鸟之苹果开发者账号的注册
- 自定义iOS下拉框
- iOS开发:为xcode项目添加git仓储
- IOS学习之__FUNCTION__的作用
- 好文推荐:iOS开发中的Git流程
- 【iOS】Ineligible Devices || “无法下载应用程序”
- IOS粒子系统的实现
- iOS 检查手机的3D Touch是否可用
- IOS开发指南读书笔记12(IOS数据持久层的建立4)
- IOS开发指南读书笔记11(IOS数据持久层的建立3)
- IOS开发指南读书笔记10(IOS数据持久层的建立2)