シートをiPhone Xの安全領域に合わせようとすると、シートの下に透明な領域が残ります。iPhone X - ホームインジケータ周辺の色を設定する
シートを広げることなく、またはセーフエリア外に配置して、その領域の塗りつぶしを設定する方法はありますか?
シートをiPhone Xの安全領域に合わせようとすると、シートの下に透明な領域が残ります。iPhone X - ホームインジケータ周辺の色を設定する
シートを広げることなく、またはセーフエリア外に配置して、その領域の塗りつぶしを設定する方法はありますか?
はい、それは良い考えではありませんが、あなたの問題を解決することができます。
は、この手順に従います。あなたのbottomPaddingView
をフェードアニメーションによる行動の可視性に関して非表示/非表示にします。
ここに私の小さなエクステンションがあります。 「マジックナンバー」タグで追加されたビューにアクセスできないように改善を提案できる人がいらっしゃる場合 - ようこそ!
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
}
}