底部布局弃用11.0
据this,在iOS的11,IB取代bottomLayoutGuide
通过safeAreaLayoutGuide
。
Interface Builder中使用UIView.safeAreaLayoutGuide作为 弃用的顶部更换和底部布局指南中的UIViewController。若要 使用新的安全区域,请在视图控制器的文件 检查器中选择安全区域布局指南,然后在 内容和新安全区域锚点之间添加约束。这样可以防止您的内容 被顶部和底部的条以及tvOS上的过扫描区域 遮挡。部署到早期版本的iOS时,安全区域的约束将转换为顶部和底部 。 (29323293)
使用 “安全区布局”(Safe Area Layout Guide)。
安全区域布局已替换iOS 11中的顶部布局和底部布局。布局指南代表您的视图部分,不受条和其他内容遮挡。在iOS 11中,Apple将弃用顶部和底部的布局指南,并用一个安全区域布局指南替换它们。
当视图在屏幕上可见时,本指南反映了未被其他内容覆盖的视图部分。视图的安全区域反映了隐藏视图控制器视图的导航栏,选项卡栏,工具栏和其他祖先所覆盖的区域。 (在tvOS中,安全区域包含屏幕的边框,由UIScreen的overscanCompensationInsets
属性定义)。它还涵盖由视图控制器的additionalSafeAreaInsets
属性定义的所有额外空间。如果视图当前未安装在视图层次结构中,或者尚未在屏幕上显示,则布局指南始终与视图的边缘匹配。
对于视图控制器的根视图,此属性中的安全区域表示被遮挡的视图控制器内容的整个部分以及您指定的任何其他插入。对于视图层次结构中的其他视图,安全区域只反映了被遮挡的那部分视图。例如,如果一个图是完全其视图控制器的根视图的安全区域内,在该属性中边缘插图为0
据苹果,Xcode 9 - Release note
界面生成器使用UIView.safeAreaLayoutGuide作为替换针对UIViewController中的弃用顶部和底部布局指南。要使用新的安全区域,请在文件检查器中为视图控制器选择安全区域布局指南,然后在内容和新的安全区域锚点之间添加约束。这可以防止您的内容被顶部和底部条纹以及tvOS上的过扫描区域遮挡。部署到早期版本的iOS时,安全区域的约束将转换为Top和Bottom。
这是现有(顶底&)之间的简单引用作为对比(作出类似的视觉效果)布局指南和安全区布局指南。
安全区域布局:
自动版式
苹果开发者官方文档需要使用安全区来处理iPhone-X的用户界面设计。 How to design user interface for iPhone-X using Safe Area Layout
奇怪的......我在这里没有得到错误https://i.imgur.com/F7dsvP1.png – paper1111