一、首页进行iOS11系统的适配。

1.我手中的 iPhone6s更新到了11,发现UITableView 和 UICollectionView 的 页面页脚变宽了。原因是因为 iOS11 默认开启了 self-Sizing, 我们可以通过实现estimatedRowHeight相关的属性来展示动态的内容,实现了estimatedRowHeight属性后,得到的初始contenSize是个估算值,是通过estimatedRowHeight x cell的个数得到的,并不是最终的contenSize,tableView不会一次性计算所有的cell的高度了,只会计算当前屏幕能够显示的cell个数再加上几个,滑动时,tableView不停地得到新的cell,更新自己的contenSize,在滑到最后的时候,会得到正确的contenSize。

self-Sizing在iOS11下是默认开启的,Headers, footers, and cells都默认开启Self-Sizing,所有estimated 高度默认值从iOS11之前的 0 改变为UITableViewAutomaticDimension

由于我们的项目中并没有使用estimateRowHeight 属性,所以页面显示有点问题了。可以使用

self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;
关闭 Self_Sizing,由于项目中使用过多,导致改起来比较麻烦,我写了一个 UITableView的分类

+ (void)load {static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{[self mmhSwizzleMethod:@selector(reloadData) withMethod:@selector(mmh_reloadData) error:nil];});
}- (void)mmh_reloadData {self.estimatedRowHeight= 0;self.estimatedSectionHeaderHeight = 0;self.estimatedSectionFooterHeight = 0;if (@available(iOS 11.0, *)) {self.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;}[self mmh_reloadData];
}

2.第一步完成之后,页面基本正确了,但是发现导航条还是会偏差个10像素。原因是 iOS11,新增一个属性 contentInsetAdjustmentBehavior
默认值是 automatic ,用来设置 新增的另一个属性 adjustedContentInset
的行为。

我们把默认值改为 never 不计算内边距。就可以了。

至此,我的iPhone6s显示没有问题了。我用模拟器在 iPhone X上跑了下, 发现 导航条和底部tab都有问题。

二、 iPhone X的适配

由于多了一种尺寸, 启动图就要多一张了,选中 LaunchImage,

勾选 iOS 8.0 and later
导入 1125 * 2436 的启动图。再次运行模拟器,就可全屏显示了。 由于我们的app,是自定义的导航条,iPhone X上 电池条由20 变成了 44 ,所以要进行适配。 做完这一步,页面显示基本没问题了

iOS11 和 iPhone X 的适配相关推荐

  1. iOS11和iPhone X的适配

    随着iOS11和xcode9刚开始正式发布,小编也迫不及待的更新了xcode9,手机也顺利更新到iOS,也终于见到iPhone X 的真面不,看着齐刘海的样式,小编心里淡淡的忧伤,怎么适配,如何快速适 ...

  2. iOS11、iPhone X、Xcode9 适配指南

    2017.09.23 不断完善中... 2017.10.02 新增 iPhone X 适配官方中文文档 更新iOS11后,发现有些地方需要做适配,整理后按照优先级分为以下三类: 单纯升级iOS11后造 ...

  3. iOS11 与 iPhone X适配的那些坑(持更中...)

    目录 问题列表 1.适配iPhoneX 屏幕原则 2.适配过程一些常量的设置 3..iPhone X 上运行有黑色区域问题 4.iOS11导航栏适配 5.出现UIScrollview 漂移问题(基本都 ...

  4. 刘海I关于iPhone X 的适配

    关于iPhone X 的适配 为了实现更为安全的面部识别,iPhone X正面的全面屏上方有一条刘海,上面集成了红外(深度)摄像头.近距离传感器.环境光传感器.左/上扬声器.麦克风.前置摄像头和一个名 ...

  5. iOS开发 关于iPhone X 的适配

    友情链接:XCODE 9:最新功能详尽介绍 1.屏幕尺寸相关变化 高度增加了145pt,变成812pt. 屏幕圆角显示,注意至少留10pt边距. 状态栏高度由20pt变成44pt,留意这个距离就能避开 ...

  6. iPhone X 的适配

    iPhone X 的适配 很久没时间更新博客了,趁着项目最近不是很紧,整理一些开发中遇到的,对大家有用的东西,记录一下. 方便日后回顾; 前几天做了iPhone x的适配, 有些坑,希望对广大开发者有 ...

  7. iphone X 屏幕适配

    1.前言 就在今天(2017年09月13日 )凌晨,苹果发布了带刘海的 iPhone X,这个屏幕需要 iOS 开发者做新的适配,会后苹果发布了 iPhone X 的适配指南,我们将它翻译出来供大家参 ...

  8. iPhone的屏幕适配

    版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point ...

  9. iPhone x 原型适配的一些事儿

    关于iPhone X适配作者分享了自己的一些心得体会,希望能够给你带来帮助. 全世界都在转发iPhone X的测评报告和HIG,我可能没有真的看懂- iPhone X 搭载了超大,高清晰度,大圆角,无 ...

最新文章

  1. Linux目录结构 Linux分区、挂载点
  2. python encoding报错_菜鸟世界 -docker 环境下解决python 的 UnicodeEncodeError 错误
  3. 关于Spring 中的PortletModeHandlerMapping
  4. 书籍折页是什么效果_Word的书籍折页是什么 如何设置Word的书籍折页
  5. HTTP Basic 验证客户端 C#实现笔记
  6. 从Java连接到Cassandra
  7. Java面向对象(4)--封装和隐藏
  8. 资源放送丨《MySQL在某航空业公司的架构选型演进之路》PPT视频
  9. 华为Mate30、iPhone11、小米9 Pro 到底怎么选?
  10. 计算地球经纬度两点之间的弧长
  11. 服务器显示演示版,金蝶软件打开后提示是演示版怎么办?
  12. 主键外键超键候选键区别以及联系
  13. 【手写源码-设计模式17】-迭代器模式-基于客户与商品数据遍历
  14. Python 练习实例100-39,有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
  15. html相册制作成视频,怎么把照片制作成视频,视频相册制作免费软件|特效多多
  16. python窗口大小动态变化_如何在tkinter中动态调整窗口大小以“自动调整”其内容?...
  17. 于飞SEO:2020最新最有效的18种推广方式
  18. mysql 排序后加上名次字段
  19. Mac平面设计师必备软件,懂word就会设计,内置海量模板。
  20. java云同桌学习系列(七)——集合

热门文章

  1. func与defer
  2. 各大公司样片申请指南
  3. 架构-计算机体系结构
  4. 【C#】七层登录机房重构
  5. codevs 2924 数独
  6. python与其他编程语言的区别分析
  7. 计算多维数组到底是几维的
  8. Excel使用vba选取有数据的范围
  9. 浪潮NF系列服务器面板状态灯功能及说明
  10. 【python pandas】数据框行转列,列转行