iPhone X - 设置 Home 指示器周围区域的颜色

Nam*_*ang 4 xcode indicator ios safearealayoutguide iphone-x

在尝试将工作表与 iPhone X 的安全区域对齐时,我对 Xcode 非常陌生,它会在工作表下方留下一个透明区域。

有没有办法在不扩展工作表或在安全区域外对齐的情况下设置该区域的填充?

在此处输入图片说明

SSe*_*hko 5

这是我的小扩展。如果有人可以建议改进以不通过“幻数”标签访问添加的视图 - 欢迎!

extension UIViewController {

private static let insetBackgroundViewTag = 98721 //Cool number

func paintSafeAreaBottomInset(withColor color: UIColor) {
    guard #available(iOS 11.0, *) else {
        return
    }
    if let insetView = view.viewWithTag(UIViewController.insetBackgroundViewTag) {
        insetView.backgroundColor = color
        return
    }

    let insetView = UIView(frame: .zero)
    insetView.tag = UIViewController.insetBackgroundViewTag
    insetView.translatesAutoresizingMaskIntoConstraints = false
    view.addSubview(insetView)
    view.sendSubview(toBack: insetView)

    insetView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
    insetView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
    insetView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
    insetView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true

    insetView.backgroundColor = color
}
Run Code Online (Sandbox Code Playgroud)

}