久しぶりの投稿です。
モーダルビューを実装しようとして、ナビゲーションバーとタブバーの部分のみ透過して再現しようとしたところ、何故かiphoneXだとタブバーとの間に妙な余白ができていました。
上の記事によるとiphoneXだとナビゲーションバーは位置の調整のみのようですが、タブバーは大きさ自体が変更されているようです。
xcodeもiphoneX対応してタブバーを大きく表示してくれているのかと思いましたがそんなことはなく、通常通り49.0ptで表示されており、拡大分34.0ptの余白が空いてしまっているようでした。
なので、デバイスのチェックを追加して、余剰分を引いてやることにしました。
呼び出される側
func checkDevice() -> Bool {
if UIDevice().userInterfaceIdiom == .phone {
if UIScreen.main.nativeBounds.height == 2436 {
return true
}
}
return false
}
呼び出し元
if self.checkDevice() {
self.bottomMarginConstraint.constant = self.bottom - 34
} else {
self.bottomMarginConstraint.constant = self.bottom
}
}
汎用性が低いので、他にいいやり方を知っている方がいらしたら、ご教授願えると嬉しいです。