iOS11&&iPhone X适配(仅针对当前项目)

有问题留言~

iOS11

1.导航栏图层变化

titleView和barbutton都需要根据版本适配
titleView最好独立一个view出来,并且重写intrinsicContentSize属性

2.新增安全区域的概念

iOS 11中Controller的automaticallyAdjustsScrollViewInsets属性被废弃了,新增加了安全区域,如果你的APP中使用的是自定义的navigationbar,隐藏掉系统的navigationbar,并且tableView的frame为(0,0,SCREEN_WIDTH, SCREEN_HEIGHT)开始,那么系统会自动调整SafeAreaInsets值为(20,0,0,0),如果使用了系统的navigationbar,那么SafeAreaInsets值为(64,0,0,0),如果也使用了系统的tabbar,那么SafeAreaInsets值为(64,0,49,0)。iPhoneX的SafeAreaInsets值为(88,0,34,0)。

PS:安全区域是只读的,可以通过addtionalSafeAreaInset来扩展安全区域。

3.scrollView新增的两个属性:adjustContentInset和contentInsetAdjustmentBehavior

自行百度

4.手动关闭估算行高

self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;

iPhone X

  • 必须修改启动图才能占满整个屏幕。
  • 导航栏和tabbar的高度增加,后面的开发需要注意动态改变他的高度。

下面的宏直接放在pch文件里面

#define ScreenWidth [[UIScreen mainScreen] bounds].size.width
#define ScreenHeight [[UIScreen mainScreen] bounds].size.height
#define Is_Iphone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define Is_Iphone_X (Is_Iphone && ScreenHeight == 812.0)
#define NaviHeight Is_Iphone_X ? 88 : 64
#define TabbarHeight Is_Iphone_X ? 83 : 49
#define BottomHeight Is_Iphone_X ? 34 : 0

例子:
[view mas_makeConstraints:^(MASConstraintMaker *make) {
      make.top.equalTo(self.view.mas_top).with.offset(NaviHeight);
      make.bottom.equalTo(self.view.mas_bottom).with.offset(-(BottomHeight));
      make.left.right.equalTo(self.view);
  }];
//有tabbar就用TabbarHeight,没有就用BottomHeight

开发建议

  • self.automaticallyAdjustsScrollViewInsets = NO。
  • 因为要适配iPhone X动态改变导航和tabbar的高度,所以最外层不建议用xib,直接通过代码适配最好。

新增:

iOS11定位服务 plist里面要增加字段

<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>打开定位服务XX将更好的服务于您</string>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 适配iOS11 🍎苹果官方文档🍎苹果官方视频为了挣钱...哦😯不是,为了广大中国的开发者,苹果官方文档出了好多中文...
    philiha阅读 1,185评论 1 50
  • 1.导航栏图层变化 titleView和barbutton都需要根据版本适配 titleView最好独立一个vie...
    猿姑凉阅读 315评论 0 1
  • | 导语 本文主要是对iOS 11下企鹅 FM APP中tableView内容下移20pt或下移64pt的问题适配...
    762683ff5d3d阅读 1,243评论 4 2
  • 《一条狗的使命》观后感 在看了《一条狗的使命》,这部电影的导演莱塞·霍尔斯道姆也是多年前一部很著名的电影《忠犬八公...
    蓝朵格格阅读 361评论 1 2
  • 联合国教科文组织曾经做过一项关于知识更新频率的研究,结论是:信息通信技术带来了人类知识更新速度的加速。在18世纪时...
    熏莉阅读 340评论 0 0