1

我在我的 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,leftsafeAreaInsets 方法让它变得动态?

4

0 回答 0