在尝试将工作表与 iPhone X 的安全区域对齐时,我对 Xcode 非常陌生,它在工作表下方留下了一个透明区域。
有没有办法在不扩展工作表或在安全区域之外对齐的情况下设置该区域的填充?
这是我的小扩展。如果有人可以建议改进不通过“幻数”标签访问添加的视图 - 欢迎!
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
}
}
是的,这不是一个好主意,但可以解决您的问题。
请按照以下步骤操作:
现在使用淡入淡出动画隐藏/取消隐藏您bottomPaddingView
的行动船可见性。