回答
据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
- 1. 底部的布局空间
- 2. 底部工具栏布局
- 3. android布局 - 顶部和底部
- 4. 布局上的相对布局的底部覆盖
- 5. 保持布局在父布局的底部
- 6. Android布局:底部有3个按钮
- 7. android无法显示布局的底部
- 8. 三列布局,底部有图像
- 9. 地铁布局对齐底部
- 10. 从动作栏底部对齐布局
- 11. 在主布局的顶部和底部放置包含的布局
- 12. 使用协调器布局在LinearLayout底部添加布局的问题
- 13. 动画底部底图的布局更改
- 14. 关注 - Table布局,内部框架,代码弃用
- 15. 绝对布局已被弃用
- 16. 如何在布局的底部视图中绑定底部表单
- 17. Android中的底栏布局
- 18. 布局问题:如何在顶部和底部放置东西?
- 19. 如何设置顶部和底部的布局Android
- 20. 顶部和底部的布局奇怪的白色颜色
- 21. ListView顶部和底部按钮的布局?
- 22. 布局底部和屏幕的其余部分
- 23. Android的布局在我的应用程序底部对齐
- 24. 将一个布局放置在屏幕底部的另一个布局上
- 25. 如何将相对布局放置在屏幕底部(或线性布局)。
- 26. 如何将线性布局中的相对布局与底部对齐?
- 27. 如何在android中原始布局的底部放置包含的布局?
- 28. 里面嵌套线性布局的相对布局。如何将线性布局放置在屏幕底部?
- 29. setBackgroundResource()丢弃我的XML布局属性
- 30. CSS - 需要柱一路流到底部的3列布局
奇怪的......我在这里没有得到错误https://i.imgur.com/F7dsvP1.png – paper1111