答案 0 :(得分:2)
https://developer.apple.com/documentation/uikit/uiview/2891102-safearealayoutguide
safeAreaLayoutGuide是在iOS 11中引入的。难怪它在iOS 9和10中不起作用。
对于旧版本,请考虑使用layoutMargins属性。
let window = UIApplication.shared.keyWindow
let topPadding = window?.layoutMargins
答案 1 :(得分:1)
如果是,您可以做下一步:
答案 2 :(得分:0)
我检查了您的代码,发现红色视图的最高限制不正确。您的红色视图应该与安全区对齐,而不是超级视图。
答案 3 :(得分:0)
就我而言,将iOS 10的EdgesForExtendedLayout设置为一个空数组可以达到预期的效果。 这里的完整答案:https://stackoverflow.com/a/51247890/3885491
答案 4 :(得分:-1)
如果您正在使用故事板,那么它将起作用,因为Storyboard是向后兼容的。请记住,故事板隐藏了实际代码中的差异,不利于深入理解......
如果你是以编程方式进行的话,那么:
见Safe Area Layout Guide Tutorial
。 SafeArea仅适用于iOS 11。对于非iOS 11,您必须使用topLayoutGuide.bottomAnchor
。