UITabBar
コンパクトな horizontalSizeClass を持つ traitCollection が必要です。通常の horizontalSizeClass では、UITabBar
TabBarIcon と Title を並べてレンダリングするためです。
サブクラスUITabBar
化し、traitCollection ゲッターをオーバーライドして、修正された traitCollection を提供しました。
override var traitCollection: UITraitCollection{
let current = super.traitCollection
let compact = UITraitCollection(horizontalSizeClass: .compact)
return UITraitCollection(traitsFrom: [current, compact])
}
これは仕事をしますが、警告を下回り始めました
クラス MyTabBar は、サポートされていない -traitCollection ゲッターをオーバーライドします。特性をオーバーライドしようとしている場合は、適切な API を使用する必要があります。
Apple ドキュメントを確認した後、overrideTraitCollection(forChild:)という 1 つの API を見つけ ましたが、UITabBar を保持する viewController には通常の horizontalSizeClass が必要です。
同様の質問も見つけましたが、の traitCollection をオーバーライドするという私の質問には答えませんUIView
。
の traitCollection をオーバーライドしたくはありませんUIViewController
が、UIView
.
の traitCollection をオーバーライドする正しい方法は何UIView
ですか?