1

3つのアイテムを持つUITabbarコントローラーがありますが、ベースのGaryアイコンの代わりにカラーアイコンが必要です。

tababrにカラーアイコンを表示するにはどうすればよいか、ヒントを教えてください。

これが私のコードです:

self.title = @"test";

   self.tabBarItem = [[UITabBarItem alloc] initWithTitle:self.title image:[UIImage 
 imageNamed:@"test"] tag:0];

通常、テストはカラー画像付きのアイコンですが、UITabbarではGaryだけです。

前もって感謝します!

4

3 に答える 3

4

このコードを使用します:

[self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"test"] 
withFinishedUnselectedImage:[UIImage imageNamed:@"test"]];
于 2013-03-26T19:27:39.270 に答える
0

独自のTabBarControllerを作成する必要があります。Appleのドキュメントによると、「このクラス[UITabBarController]はサブクラス化を目的としていません」。UITabBarItemのドキュメントには、タブバーに画像を提供する場合、「タブバーに表示される画像はこの画像から派生したものである」と記載されています。したがって、タブバーに提供する画像はすべて、タブバー画像の「通常の」外観に一致するように操作されます。

したがって、サブビューとしていくつかのUIButtonを使用してUIViewControllerを構築し、その方法でルックアンドフィール全体を管理できます。

于 2013-03-25T04:02:47.517 に答える
0

3つのタブすべてに対して2つの画像を作成する必要があります。一方は選択されておらず、もう一方は選択されています。

その後、appdelegate.mファイルに以下のコードを記述します

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
       self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
       // Override point for customization after application launch.
       self.searchArray = [[NSMutableArray alloc]init];
       self.tabBarController = [[[UITabBarController alloc] init] autorelease];

       viewController1 *view1 = [[[viewController1 alloc] initWithNibName:@"viewController1" bundle:nil] autorelease];
       view1.tabBarItem.image = [UIImage imageNamed:@"tab-selected-1"];
       view1.tabBarItem.title = @"Title1";           

       viewController2 *view2 = [[[viewController2 alloc] initWithNibName:@"viewController2" bundle:nil] autorelease];
       view2.tabBarItem.image = [UIImage imageNamed:@"tab-selected-2"];
       view2.tabBarItem.title = @"Title2";

       viewController3 *view3 = [[[viewController3 alloc] initWithNibName:@"viewController3" bundle:nil] autorelease];
       view3.tabBarItem.image = [UIImage imageNamed:@"tab-selected-3"];
       view3.tabBarItem.title = @"Title3";



       self.tabBarController.viewControllers = [NSArray arrayWithObjects:view1, view2, view3, nil];

       UITabBarItem *tabBarItem1 = [[self.tabBarController.tabBar items] objectAtIndex:0];
       [tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"tab-selected-1.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab-unselected-1.png"]];


       UITabBarItem *tabBarItem2 = [[self.tabBarController.tabBar items] objectAtIndex:1];
       [tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"tab-selected-2.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab-unselected-2.png"]];

       UITabBarItem *tabBarItem3 = [[self.tabBarController.tabBar items] objectAtIndex:2];
       [tabBarItem3 setFinishedSelectedImage:[UIImage imageNamed:@"tab-selected-3.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab-unselected-3.png"]];


       return YES;
}

これを試してみてくださいあなたの問題は確実に解決しました。幸運を祈ります

于 2013-03-25T04:07:09.130 に答える