【发布时间】:2018-06-20 10:07:58
【问题描述】:
我在尝试以编程方式布局视图时遇到问题,我似乎无法找到一种简洁、非 hacky 的方法来解决它。
我正在使用 safeAreaInsets 来调整视图中某些元素的大小。这很好用,直到我在 iOS 11 之前的设备上试用它。显然,由于缺少 safeAreaInsets,我的子视图的大小会分崩离析,一切都变得一团糟。使用旧版本的 iOS 时,我该怎么做。
更具体地说,我可以在下面的扩展中实现什么才能按预期工作?
extension UIView {
func compatibilityInsets() -> UIEdgeInsets {
if #available(iOS 11.0, *) {
return self.safeAreaInsets
} else {
//what goes here?
return self.olderVersionOfInsets
}
}
}
这是我如何使用此扩展方法的示例:
var minimumHeaderHeight: CGFloat {
//allows the header height to be 70 below navigation bar
return 70 + view.compatibilityInsets().top
}
【问题讨论】:
标签: ios swift safearealayoutguide uiedgeinsets