13

次のコードを使用して、自分の画像を作成しますUITabBarItem

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

この tab_img.png は、黒、白、およびクリア カラーで構成されています。しかし、アプリでは、白黒の画像のすべての部分が灰色に変わります。この灰色を白に変更するにはどうすればよいですか?

これは私が使用する画像です

ここに画像の説明を入力

4

7 に答える 7

33

iOS7 では、IB を使用する場合、UITabBarController をサブクラス化し、これを追加できます。

+ (void)initialize
{
    //the color for the text for unselected tabs
    [UITabBarItem.appearance setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor redColor]} forState:UIControlStateNormal];

    //the color for selected icon
    [[UITabBar appearance] setSelectedImageTintColor:[UIColor whiteColor]];    
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
        for (UITabBarItem *tbi in self.tabBar.items) {
            tbi.image = [tbi.image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
        }
    }
}

アイテムを手動で作成する場合は、各アイコンに UIImageRenderingModeAlwaysOriginal を設定し、初期化からコードを追加する必要があります。

于 2014-04-08T12:34:23.317 に答える
10

選択画像と非選択画像を設定します。

[self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"mehr_icon"] withFinishedUnselectedImage:[UIImage imageNamed:@"mehr_icon"]];
于 2013-02-26T10:54:41.823 に答える
3

UITabBarItems の画像はアルファ チャネルのみにする必要があります。ただし、不透明な部分はグレー (選択されている場合は青) にしか表示されません。

見てみましょう:http://devinsheaven.com/creating-uitabbar-uitoolbar-icons-in-adobe-illustrator/

于 2013-02-26T10:14:46.877 に答える
0

私は一度同じ問題を抱えていました。私はこの画像のように白とアルファのみの画像を使用しています

で設定しましたself.tabBarItem.image = [UIImage imageNamed:@"Liste"];

于 2013-02-26T10:19:43.963 に答える