概要
iPadOS18でタブバーのUIが刷新されました。
これに伴い、これまでUITabBarController
やTabView
を用いて実装していたアプリはこの変更がアプリのUIに影響を与えないかのチャックや必要に応じて改修する必要があります。
この記事では、この変更を回避し、既存のタブバーのデザインを残すコードを紹介しています。
※2024/07/26現在は有効ですが、今後無効化される可能性があります
回避するためのコード
iOS17から追加されたUIView
のInstance Property
であるtraitOverrides
のhorizontalSizeClass
に.compact
を代入することで、タブバーの変更を回避することができます。
class MyTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
traitOverrides.horizontalSizeClass = .compact // 👈 Override like this
}
}
コードはこちらから引用させていただきました。
.compact
について
.compact
が何を意味しているかは@inuhaさんの記事が参考になりました🙏