以编程方式禁用UIView的安全区域布局指南

时间:2017-11-10 18:25:15

标签: ios ios11 xcode9

通过取消选中Use Safe Area Layout Guides,可以在Interface Builder中禁用安全区域布局指南。如何在代码中完成?

我没有注意到一个与复选框直接对应的iOS11可用布尔值。

2 个答案:

答案 0 :(得分:2)

我认为以编程方式完成此操作的唯一方法是覆盖safeAreaLayoutGuide属性。

override var safeAreaLayoutGuide: UILayoutGuide {
    return UILayoutGuide()
}

当你通过IB禁用它时它仍然会返回一个UILayoutGuide但是没有layoutFrame,通过返回一个UILayoutGuide实例,你基本上也是这样做的。

答案 1 :(得分:0)

如果有人在使用新的SwiftUI时遇到了这个问题,我将按照以下步骤忽略安全区域

Text("Hello World")
    .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
    .background(Color.blue)
    .edgesIgnoringSafeArea(.all)

edgesIgnoringSafeArea(.all)是将视图扩展到指定边缘的安全区域之外的方法。