2017-07-04 63 views
5

我能做些什么来解决底部布局已被弃用iOS的11,我使用的Xcode 9测试版2.底部布局弃用11.0

enter image description here

+0

奇怪的......我在这里没有得到错误https://i.imgur.com/F7dsvP1.png – paper1111

回答

1

this,在iOS的11,IB取代bottomLayoutGuide通过safeAreaLayoutGuide

Interface Builder中使用UIView.safeAreaLayoutGuide作为 弃用的顶部更换和底部布局指南中的UIViewController。若要 使用新的安全区域,请在视图控制器的文件 检查器中选择安全区域布局指南,然后在 内容和新安全区域锚点之间添加约束。这样可以防止您的内容 被顶部和底部的条以及tvOS上的过扫描区域 遮挡。部署到早期版本的iOS时,安全区域的约束将转换为顶部和底部 。 (29323293)

7

只需在IB的文件检查器中检查“使用安全区域布局指南”按钮即可。

use safe area layout guides

+0

只是为了增加一点清晰度。为了解决这个问题在我的故事板文件中,我不得不选择故事板,然后选择故事板中的场景来显示该选项。当我仅选择故事板时,该选项未出现。如果您有多个场景,则需要为故事板文件中的每个场景执行此操作。 – xdeleon

+0

@ paper1111这是理想的使用红色手绘圈:https://meta.stackexchange.com/questions/138031/is-there-a-joke-about-freehand-circles-that-im-oblivious-to – SteveFest

0

使用 “安全区布局”(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。

enter image description here


这是现有(顶底&)之间的简单引用作为对比(作出类似的视觉效果)布局指南和安全区布局指南。

安全区域布局: enter image description here

自动版式

enter image description here


这里是Safe Area Layout Guide

苹果开发者官方文档需要使用安全区来处理iPhone-X的用户界面设计。 How to design user interface for iPhone-X using Safe Area Layout