文章目录
  1. 1. 第一部分: iOS7~iOS10的适配.
  2. 2. 第二部分: iOS11与IPhone X的适配.

自从Apple公司发布了iOS11和新机型iPhone X.各种适配问题就相应而来,尤其是iPhone X搭配iOS11造就的”刘海”效果,美丽却又让开发人员头疼不已~看啦大家各种研究适配的文章,众说纷纭,这里就从文档和实操两个方向深入研究一下,归纳一个关于iOS11和IPhone X的适配总结,以供以后查阅使用.

第一部分: iOS7~iOS10的适配.

在iOS7之后,苹果引入了两个布局属性:topLayoutGuidebottomLayoutGuide,以用来描述当前屏幕上可用以向用户展示信息的区域的顶端和低端边界.而这个区域又取决于当前的ViewController、NavigationController和TabbarViewController.具体的因素如下:

  • 独立ViewController(不被包含于其他任意的ViewController),对应属性作用如下:

    状态栏可见: topLayoutGuide 位置在状态栏底部.

    状态栏不可见: 表示这个ViewController的上边缘.
  • 子类ViewController(被包含于其他ViewController),本身不对这个属性起决定作用.而是由容器Controller来决定这个属性的作用:
    • 如果导航栏可见(NavigationBar): topLayoutGuide 表示导航栏底部.
    • 如果状态栏可见(StatusBar): topLayoutGuide 表示状态栏底部.
    • 如果均不可见, topLayoutGuide 表示ViewController的上边缘.

总结来说就是: 表示屏幕上,任何可以遮挡当前界面显示的内容的系统栏的底部.

第二部分: iOS11与IPhone X的适配.

文章目录
  1. 1. 第一部分: iOS7~iOS10的适配.
  2. 2. 第二部分: iOS11与IPhone X的适配.