5

私は私がUIBarButtonItem経由してテキストをカスタマイズできることを知っています

setTitleTextAttributes:forState:

UITabBarを介してアイコンをカスタマイズする方法もあります

setSelectedImageTintColor:

一貫したUXを実現するために、の色合いの色UIBarButtonSystemItem(ゴミ箱のアイコンの色など)をカスタマイズする方法はありますか?何も見つかりませんでした。

これが不可能な場合、どうすればよいですか?アイコンの色を変更したバージョンを保存する必要がありますか?どこで見つけることができますか?それを変更する最も簡単な方法は何でしょうか?

編集

明確にするために、それはUIBarButtonItem私が求めている背景色ではなく、アイコンの輪郭の色です。

編集

の色合いを設定するUIBarButtonItemと、ボタンセットの背景色になります。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];


    [[UINavigationBar appearance] setTintColor:[UIColor greenColor]];

    UIBarButtonItem* trashButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:nil action:nil];

    trashButton.tintColor = [UIColor blackColor];
    UIViewController* viewController = [[UIViewController alloc] init];
    UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:viewController];
    [viewController.navigationItem setRightBarButtonItem:trashButton];

    self.window.rootViewController = navController;
    return YES;
}

これを生成します。

編集2

システムアイコンの輪郭の色は、実際にはtintColorのプロパティを介して設定できますがUIBarButtonItem、そのstyleプロパティの値が。である場合に限りますUIBarButtonItemStylePlain。(それでも、一部の色は特殊で輪郭を白のままにします。そのような色の1つはです[UIColor blackColor])ただし、UIBarButtonItemin aを使用するとUINavigationBarstyle強制的にUIBarButtonItemStyleBordered。この場合、tintColorボタンの背景色を設定し、輪郭を白のままにします。

ナビゲーションバーでsを使用しているUIBarButtonItemので、問題はまだ解決されていません。

4

3 に答える 3

10

: 以下は、ナビゲーション バーではなく、ツールバーに追加されたボタンに対してのみ機能します。

tintColorのプロパティを使用しますUIBarButtonItem。特定のインスタンスで呼び出すか、appearanceすべてのボタン項目で呼び出します。

を介してすべてのボタン項目の色合いを設定するように注意してくださいappearance。色合いを設定すると、すべてのボタン項目が正しく表示されるわけではありません。

アップデート:

UIBarButtonItem *btnAdd = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addAction)];
btnAdd.tintColor = [UIColor blackColor];

これにより、ボタンのアイコンが黒くなります (背景はツールバーの色合いと同じになります)。

于 2013-02-21T17:05:17.997 に答える
6

外部エディターでバーボタンシステムアイテムのpngファイルの色を変更し、その画像をプロジェクトに含めて、

[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"UIButtonBarTrashBlack"] style:UIBarButtonItemStyleBordered target:self action:@selector(myAction)];

便利なUIKit-Artwork-Extractorを使用して、内部システム イメージを見つけました。

フリーソフトGIMPを使ってアートワークの色を編集しました。

于 2013-02-21T19:52:40.063 に答える
-1

黒色を使用する代わりに、これを使用します。

[UIColor colorWithRed:0 緑:0 青:0 アルファ:1]; // [UIColor blackColor] で白にします

于 2013-11-15T01:39:09.153 に答える