iOS 11,新特性,安全区

来源:互联网 发布:如何学计算机编程 编辑:程序博客网 时间:2024/06/05 02:06

在iOS11出来之后,,对iOS 来说改变最大的就是安全区,就是刘海的问题,在这块对于iOS新的特性

iPhone X尺寸

APP启动页,即LaunchImages,需要五张不同尺寸大小的图,切记一定要选择png格式,否则打包时报错,导致APP适配失败。

六张图的大小即:320×480、640×960、640×1136、750×1334、1242×2208、

1125*2436

分别对应的iphone屏幕尺寸:iphone 3GS、iphone4(s)、iphone5(c、s)、iphone6/7/8(s)、iphone 6/7/8(s) plus、iPhoneX

具体步骤:

Step1:

1.点击工程目录中的Images.xcassets/Assets.xcassets,点击左侧边栏的LaunchImages(如果没有,在空白处右击创建一个)

2.然后在xcode最右侧的边栏处选择你的APP是否要对ipad、横竖屏、以及低版本的iOS系统做支持。



iOS 11之前,

automaticallyAdjustsScrollViewInsets经常被设置成NO,由开发者去控制处理留白和坐标问题, 但是11+automaticallyAdjustsScrollViewInsets = NO这句代码失效。

iOS 11后,

把这个automaticallyAdjustsScrollViewInsets废弃,新增了contentInsetAdjustmentBehavior,这个属性是个枚举类型值,我们只需要把其设置成never就行了

解决tableView偏移88的问题,  我们可以对对 tableView 进行如下设置:

if (@available(iOS 11.0, *)) {

self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

} else {

self.automaticallyAdjustsScrollViewInsets = NO;

}



2、导航栏适配

导航栏新增了一种大标题样式,默认设置是不开启,所以不需要修改。

iOS 11以前,导航栏的高度是64,其中状态栏statusBar的高度是20,底部tabbar的高度是49。

iOS 11之后,iPhoneX的导航栏的高度是88,其中状态栏的statusBar的高度变成了44, 底部的tabbar变成了83。

iPhoneX的底部增加了虚拟Home区,由于安全区域的原因默认tabBar的高度由49变为83,增高了34,所以自定义的底部TabBar也需要需改其适配方案。

目前我们项目没有自定义底部TabBar, 则先不考虑吧, 先来考虑关于navi 在 iPhone X 上是88的问题.

目前没发现有iPhoneX的机型判断API,建议使用size来做代替判断。

#definekStatusBarHeight[[UIApplicationsharedApplication] statusBarFrame].size.height

#define kNavBarHeight 44.0

#define kTabBarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49)//tabBar高

#define kTopHeight(kStatusBarHeight + kNavBarHeight)//导航栏高

//判断iPhoneX

#define isiPhone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)

#defineiPhoneX[[UIScreenmainScreen] bounds].size.width >= 375.0f && [[UIScreen mainScreen] bounds].size.height >= 812.0f && isiPhone

3、iPhone X上下显示黑条问题

运行Xcode9.0的iPhoneX模拟器, APP在iPhoneX屏幕没填充满,上下有黑色区域,这是因为app之前未用LaunchScreen.Storyboard作为启动页面,可以使用LaunchScreen来当做入场页面,这样APP才会自动适配为iPhoneX的大小。我的项目中是用Assets中的LaunchImage, 这样就可以修改Assets中的LaunchImage,添加iPhoneX的Launch图(1125*2436)


更新适配版本时 iPhone X 的启动图适配加上了, 千万别忘了也要传 Icon. 否则就会有上传版本时会有提示警告滴

4、MJRefresh上拉刷新死循环

self.tableView.estimatedRowHeight=150.0f;

150这个数值是你cell的平均高度,如果estimatedRowHeight设置非常小,MJRefresh的KVO会监听错误的contentoffset,造成不停进行上拉加载操作。

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 人像模式 人像图 24移轴人像 夜景人像 人像写真 图片人像 人像摄影网 人像拍摄 海边人像 人像构图 西西人像摄影 人像摆姿72变 唯美人像摄影 龟仙人像龙珠许愿干18号 ps人像脸部精修照片技巧 人像摄影7个基本构图 人像摄影构图 人像摄影基本构图 人像摄影布光24种教程详解 拍人像用什么镜头好 ps人像脸部精修教程 人像摄影摆姿全集 心上人像达玛花 ps人像精修照片步骤 无人像你多么上心 心上人像达玛花简谱 人像素描图片 人像摄影大师作品 没有人像你绿亦歌 夜景人像拍摄技巧 人像摄影摆姿宝典 人像摄影布光 人像摄影作品 添画人像图片 广角镜头拍人像 佳能人像镜头 人像拍摄技巧 人像摄影培训班 人像摄影方法 拍人像用什么滤镜 拍人像单反推荐