2つのViewController(AとB)を備えたTabBarコントローラーがあり、2つのTabBarアイテムのフォントサイズを変更したいと思います。最初のタブAViewControllerがロードされたら、[selftabBarItem]setTitleTextAttributeを使用してタブアイテムのフォントサイズを変更できます。
ただし、フォントを変更できるように、AからViewController Bのタブバーアイテムを参照するにはどうすればよいですか?
前もって感謝します!
self.tabbarController.viewControllersを介して他のviewControllerへの参照があります
シングルトンを追加できます: UITabBarの共有インスタンスと単一の参照を取得するか、2つのUIViewControllerとそれに付随するUITabBarを持つクラスを作成し、それらをクラス変数として呼び出すことができます。私はシングルトンがあまり好きではありませんが、それはあなたのアプリの好みとデータモデルに要約されます。
@andershqstが述べたようにself.tabbarController.viewControllers
。タブの列挙型を維持しています。
typedef enum SICOTabIndexes {
kSICOTabIndexHome,
kSICOTabIndexSaved,
kSICOTabIndexCamera,
kSICOTabIndexList,
kSICOTabIndexSettings
} SICOTabIndexes;
次にcontroller.tabBarController.viewControllers[kSICOTabIndexHome]
、特定のViewControllerを取得するために使用できます。
UIViewController *homeController = controller.tabBarController.viewControllers[kSICOTabIndexHome]
その時点で、を使用homeController.tabBarItem
して必要な変更を加えます。