2011-01-18 5 views
2

私はtabBarと一緒に作業しています。私のアプリケーションでは、tabBarItem imagetitleを変更したいと思います。小文字のtabBarItemをクリックした時点で、コントロールはその特定のビューのviewWillAppearメソッドに進みます。この時点で私はimagetitleその特定のtabBarItemを変更したいと思います。TabBarItemの画像とタイトルの変更方法

私はこのように与えていたが、それは働いていない...

コード:

tabItem = [[UITabBarItem alloc] initWithTitle:@"Colors" image:[UIImage imageNamed:@"Colors.png"] tag:9]; 

self.tabBarController.tabBarItem = tabItem; 

すでに私はそのビューのためtag valueを設定していますが9です。

imagetitleの変更方法を教えてください。

+0

してください誰も...、あなた – kanmani

答えて

5

あなたがしようとしていることに多少の誤解があります。まず、UITabBarControllerにはtabBarItemプロパティがありません。これは設定しようとしているものです。しかし、それがなかった場合でも、UITabBarControllerのドキュメントは、具体的UITabBarControllerのTabBarのプロパティに関して、州:あなたは、それ自体がこのプロパティに格納されUITabBarオブジェクトを操作しようとすることはありません

。そうしようとすると、タブバービューは例外をスローします。

ので、項目を変更する方法はUITabBar自体を通してないです。あなたの状況では、UITabBarはUITabBarItemsを各タブで表されるUIViewControllerから取得しています。これはあなたが支配しているものです。具体的に、何を行うことができますすることです。

- (void)viewWillAppear:(BOOL)animated { 
    /* Modifies the UITabBarItem used by a UITabBarController to represent this 
    * UIViewController in the tab bar. 
    */ 

    UITabBarItem* tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Colors" image:[UIImage imageNamed:@"Colors.png"] tag:9]; 
    self.tabBarItem = tabBarItem; 
    [tabBarItem release]; 
} 
+0

ハイマット・ワイルディングをありがとうこれを行うには、いくつかの解決策を与える\t \t \tのTabItem = [[UITabBarItemのalloc] initWithTitle: "色" @ image:[UIImage imageNamed:@ "Colors.png"] tag:9]; \t \t self.navigationController.tabBarItem = tabItem; \t [tabItem release];上記のコードは、1つのtabbaritem以外のすべてのtabbaritem(navigationcontrollerを持っている)のために働いています。私はこの問題を解決することができます...私にこれをするのを助けてください...ありがとう – kanmani

+0

ここにいくつかのコンテキストを提供する必要がありますこれについては違うのですか?それが他のクラスと異なるクラスのビューコントローラを表している場合は、そのコードをそのクラスに入れる必要があります。 –

+0

それは、self.tabBarItem.title = @ "MyTitile";という意味ですか?動作しないでしょう?本当に私の場合は動作しません。それはAPIルールですか?しかし、新しいタブバーの項目は正常に動作します。 – karim

関連する問題