プログラムで選択したときに UITabBarItem を強調表示する方法を知りたいです。これは可能ですか?
ありがとう
選択されているタブを変更することができます -- これによりハイライトも変更されます -- 簡単に:
tabcontroller.selectedIndex = youNewIndexHere;
タブコントローラーがアプリ デリゲートにある場合 (プロジェクトの作成時にタブ バー アプリケーション テンプレートを使用した場合)、次のようになります。
ProjectNameAppDelegate *appDelegate = (ProjectNameAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate tabcontroller].selectedIndex = youNewIndexHere;
インデックスを知っていて、次のように記述した場合、タブバーは機能します。
NSMutableArray *item [[NSMutableArray alloc] init];
[items addObject: [[[UITabBarItem alloc] initAsULike] autorelease]; <--- init as you like here
...
[tabBar setItems:items animated:FALSE];
tabBar.selectedItem = [items objectAtIndex: your_index]; <--- write your index here
[items release];
IB で作成された UITabBar がありますが、TabBarController はありません。私のawakeFromNibでは、次のように最初のアイテムに初期化します:
[self.tabBar setSelectedItem:[[self.tabBar items] objectAtIndex:0]];
この場合、UITabBarDelegate didSelectItem は呼び出されないことを忘れないでください。