2

私は3つ持っていUITabBarControllerます。プロジェクトはストーリーボード付きです。それぞれに異なる画像を設定するにはどうすればよいですか?UITabBarUITabBarItemUITabBarItem

私はこのようなことをしたい:

TabBarItem1 -> image1_unselected and image1_selected

TabBarItem1 -> image2_unselected and image2_selected

TabBarItem1 -> image3_unselected and image3_selected

編集:

正確に書いていなかったのかもしれませんが、カスタムイメージを設定UITabbarしてカスタムグラフィックで作りたいです。UITabbar「友達を探す」アプリのようなもの。

4

4 に答える 4

2

OK、解決策を見つけました。

私の冒頭でviewDidLoadfirsTabBarViewController.m はこのコードを追加しました:

UIImage *selectedImage0 = [UIImage imageNamed:@"barBtn1_selected.png"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"barBtn1.png"];

UIImage *selectedImage1 = [UIImage imageNamed:@"barBtn2_selected.png"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"barBtn2.png"];

UIImage *selectedImage2 = [UIImage imageNamed:@"barBtn3_selected.png"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"barBtn3.png"];

UITabBar *tabBar = self.tabBarController.tabBar;

UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];

[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2]; 

そして今、私は私の質問にまさに欲しいものを持っています。

于 2012-07-10T17:07:06.187 に答える
0

TabBar画像は32x32ポイント以下であり、iOSによって自動的にスタイル設定され、monochromatic配色で表示されます(選択した内容に関係なく)。タブバーのインターフェイスアートを作成するときは、背景が透明な単純な線画が最適です。

これは、最初に画像リソースをプロジェクトに追加することによって行われます。

次に、編集するをクリックしてTabBarItem、属性インスペクターに移動します(Alt + Cmd + 4

次に、' Identifier'を''にCustom変更します

最後に、[画像]ドロップダウンから画像を選択します。

于 2012-07-05T10:38:39.677 に答える
0

それぞれでこれを試してください viewcontroller

->でinitwithnibname....; 方法

self.tabBarItem.image = [UIImage imageNamed:@"image.png"];

于 2012-07-05T10:51:48.467 に答える
0

murzynplの答えは正しいですがAppDelegate.mdidFinishLaunchingWithOptionsメソッドに次のコードを追加することでこれを行うこともできます

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UITabBar *tabBar = tabBarController.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];

tabBarItem1.title = @"Home";
tabBarItem2.title = @"Favorites";

NSString *tabOneImage = [[NSString alloc] init];
NSString *tabOneImageSelected = [[NSString alloc] init];
NSString *tabTwoImage = [[NSString alloc] init];
NSString *tabTwoImageSelected = [[NSString alloc] init];

if ([UIScreen mainScreen].bounds.size.height > 480.0f) {
    tabOneImageSelected = @"home_icon_selected-568h@2x.png";
    tabTwoImageSelected = @"fav_icon_selected-568h@2x.png";
    tabOneImage = @"home_icon-568h@2x.png";
    tabTwoImage = @"fav_icon-568h@2x.png";
}
else {
    tabOneImageSelected = @"home_icon_selected.png";
    tabTwoImageSelected = @"fav_icon_selected.png";
    tabOneImage = @"home_icon.png";
    tabTwoImage = @"fav_icon.png";
}


[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:tabOneImageSelected]
          withFinishedUnselectedImage:[UIImage imageNamed:tabOneImage]];
[tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:tabTwoImageSelected]
          withFinishedUnselectedImage:[UIImage imageNamed:tabTwoImage]];
于 2013-09-04T23:59:58.243 に答える