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

9

在Interface Builder中,可以通过取消选中“使用安全区域布局指南”来禁用安全区域布局指南。但是,如何在代码中实现呢?

我没有发现与复选框直接对应的适用于iOS11的布尔类型。


你为什么要在代码中禁用安全区域布局指南?在代码中,你可以指定是否将视图约束到安全区域。 - nathangitter
insetsLayoutMarginsFromSafeAreafalse 时,UIViewsafeAreaInsets 不为零并在屏幕上呈现。 - kev
此外,safeAreaLayoutGuideUIView 上的只读属性,因此这不仅适用于 Interface Builder 中的 xib 和 storyboard。我只是不知道如何禁用它。 - kev
2个回答

3
我认为以编程方式实现这一点的唯一方法是覆盖safeAreaLayoutGuide属性。
override var safeAreaLayoutGuide: UILayoutGuide {
    return UILayoutGuide()
}

当您通过IB禁用它时,它仍会返回一个UILayoutGuide,但其layoutFrame为零。通过返回一个UILayoutGuide实例,您基本上正在执行相同的操作。


-1
你可以在视图的大小检查器面板中完成它: 输入图像描述

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接