我在我的 iOS 项目中使用 SnapKit 进行布局,在横向模式下,我想在底部添加一些约束。
使用以下代码一切正常。
containerView.snp.updateConstraints { (update) in
update.left.equalToSuperview().offset(58)
update.top.equalToSuperview().offset(0)
if #available(iOS 11.0, *), UIDevice.isIphoneX {
let bottomPadding = self.viewController?.view.safeAreaInsets.bottom
update.bottom.equalToSuperview().offset(-bottomPadding!)
}
}
虽然我想通过类似这样的功能使其更具动态性
func safeAreaEdge(_ view: UIView, _ edgePad: CGFloat) -> CGFloat {
if #available(iOS 11.0, *), UIDevice.isIphoneX {
let padding = view.safeAreaInsets.edgePad
return padding
} else {
return CGFloat(0.0)
}
}
所以我可以像这样得到填充 safeAreaEdge(view, bottom)
但我得到一个错误
Value of type 'UIEdgeInsets' has no member 'edgePad'
为什么我知道我只有那些选项但是有没有任何有效top,bottom,right,left
的safeAreaInsets
方法让它变得动态?