0

次のようなタブバーのグラフィックを変更しようとしています

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UITabBar *tabBar = tabBarController.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];
UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];
tabBarItem1.title = @"Home";
tabBarItem2.title = @"Maps";
tabBarItem3.title = @"My Plan";
tabBarItem4.title = @"Settings";

ここで私が抱えている問題は、私の tabbarcontroller が私のルート ビューではないということです。どうすれば tabbarcontroller を参照してタブ イメージを変更できますか?

私は、1 つ以上の tabbarcontrollers にリンクする tableview を持つことを参照するこの投稿 ( Can I have more than 1 UITabBarController? ) からの提案に従っています。

したがって、私のルート ビューはタブ バーではありませんが、タブ バー ビューは前の画面から読み込まれた後に読み込まれます。

初期画面とタブバーでこれがすべて機能し、すべて正常に機能しています。タブバーのグラフィックを変更する必要があるだけで、タブバーのグラフィックの変更に関するすべてのチュートリアルが使用するため、これを行うことができませんapp デリゲートを作成し、ルート ビューとして tabbarcontroller を参照します。

これに関するヘルプは大歓迎です!

4

2 に答える 2

0

リチャード、

まず、あなたが参照した投稿は、これは非常に悪いビジュアルデザインであると指摘しましたが、とにかく、それを行う必要がある場合.

タブ バー コントローラーを参照する方法は、インスタンス化する方法によって異なります。このようなことはかなり明白なはずなので、xib またはストーリーボードを使用していると思います。

いずれにしても、タブ バーを表示する 2 番目のビューを読み込むと、ビューを制御するビュー コントローラーが読み込まれます。タブ バーを IB のビュー コントローラーのプロパティにバインドするだけで、ビュー コントローラーをロードしたビューで設定を行うことができます。

実際、IB (XIB またはストーリーボード) を使用している場合は、そこでアイコンを設定するだけです。

于 2013-05-13T22:40:34.023 に答える