我认为以编程方式实现这一点的唯一方法是覆盖safeAreaLayoutGuide属性。override var safeAreaLayoutGuide: UILayoutGuide { return UILayoutGuide() } 当您通过IB禁用它时,它仍会返回一个UILayoutGuide,但其layoutFrame为零。通过返回一个UILayoutGuide实例,您基本上正在执行相同的操作。
insetsLayoutMarginsFromSafeArea
为false
时,UIView
的safeAreaInsets
不为零并在屏幕上呈现。 - kevsafeAreaLayoutGuide
是UIView
上的只读属性,因此这不仅适用于 Interface Builder 中的 xib 和 storyboard。我只是不知道如何禁用它。 - kev