質問

私は一緒に働いています tabBar ナビゲーションコントローラーを使用したベースのアプリケーション。私のアプリケーションでは、変更したいと思います tabBarItem imagetitle. 。パリチクラをクリックした時点 tabBarItem コントロールはに行きます viewWillAppear その特定の見解の方法。この時間に変えたいです imagetitle その特定の tabBarItem.

私はこのように与えていますが、それは機能していません...

コード:

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

self.tabBarController.tabBarItem = tabItem;

すでに設定しています tag value その見解はです 9.

どうすれば変更できますか imagetitle その特定の tabbarItem .

役に立ちましたか?

解決

あなたがやろうとしていることにはわずかな誤解があります。まず第一に、uitabbarcontrollerにはtabbaritemプロパティがありません。これはあなたが設定しようとしているものです。しかし、たとえそれがそうであっても、uitabbarcontrollerのuitabbarcontrollerのTabbarプロパティに関して、uitabbarcontrollerドキュメントは特に述べています。

このプロパティに保存されているUitabbarオブジェクト自体を操作しようとしないでください。そうしようとすると、タブバービューに例外がスローされます。

したがって、アイテムを変更する方法は次のとおりです いいえ uitabbar自体を通して。あなたの状況では、uitabbarは各タブで表されるuiviewcontrollersからuitabbaritemsを取得しています。これはあなたがコントロールしているものです。具体的には、できることは次のとおりです。

- (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];
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top