私は4つのコントローラ(ナビゲーションコントローラ)を持つUITabBarControllerを持っています。今私はすべての4つのコントローラのビューのフレームを変更したいので、 これのためのベストプラクティスは何ですか?tabbarcontrollerのすべてのviewcontrollerフレームのサイズを変更する
注: UITabBarControllerは、コンテナビューの境界に合わせようとするため、コンテナビューのフレームを常にリセットします。
私は4つのコントローラ(ナビゲーションコントローラ)を持つUITabBarControllerを持っています。今私はすべての4つのコントローラのビューのフレームを変更したいので、 これのためのベストプラクティスは何ですか?tabbarcontrollerのすべてのviewcontrollerフレームのサイズを変更する
注: UITabBarControllerは、コンテナビューの境界に合わせようとするため、コンテナビューのフレームを常にリセットします。
私は私の問題を解決し、ネイティブUITabBarControllerを維持:
UITabBarControllerはその境界にビューコントローラのサイズを強制されますので、私は動的にUITabBar origin.y(tabBar.origin.y -= reduced size
)に変更およびサイズ。高さtabBar.size.height += reduced size
)、ビューコントローラ用のコンテナフレームが強制的に小さくなるようにします。
そして、カジュアルなタブバーデザインを維持するために、tabBar内の各UITabBarItemについて、imageInsetをプッシュしました。
このように、レイヤーの変更や他の同様のメソッドのオブザーバーを介して、tabBarControllerの複数のviewControllerビューのフレームを強制的に変更する必要はありません。
** imageInset **をプッシュしたということを意味しますか? imageInsetとは何ですか? –
tabBarItem.imageInsetsプロパティ。 –
なぜサイズを変更しようとしていますか? – Wain
通常、あなたはそれをしませんが、それをやりたいので、tabBarControllerのすべてのコントローラは同じサイズですか? –
@JigneshAgolaはい、彼らは同じサイズを持っています。私はtabbarcontroller.viewcontrollersでループ中にそれらのサイズを変更することができますが、私はそのコンテナ境界に戻すようにサイズを変更するtabbarcontrollerを停止することはできません。 –