web-dev-qa-db-ja.com

UIBarButtonアイテムのフォントの色を変更するにはどうすればよいですか?

色を赤に変えたいです。

21
Sheehan Alam

この質問に答えました ここ 。基本的に、UIButtonを作成し、必要に応じて構成してから、UIButtonをカスタムビューとして使用してバーボタンアイテムを初期化する必要があります。

9
Tim Isganitis

タイトルの色を変更する簡単な方法を見つけました:iOS7:

UIBarButtonItem *button = 
 [[UIBarButtonItem alloc] initWithTitle:@"Title" 
                                  style:UIBarButtonItemStyleBordered 
                                 target:nil 
                                 action:nil];
[button setTitleTextAttributes:
          [NSDictionary dictionaryWithObjectsAndKeys: 
               [UIColor redColor], NSForegroundColorAttributeName,nil] 
                                            forState:UIControlStateNormal];

および以前のiOS7:

UIBarButtonItem *button = 
  [[UIBarButtonItem alloc] initWithTitle:@"Title" 
                                   style:UIBarButtonItemStyleBordered 
                                  target:nil 
                                  action:nil];
[button setTitleTextAttributes:
          [NSDictionary dictionaryWithObjectsAndKeys: 
               [UIColor redColor], UITextAttributeTextColor,nil] 
                                    forState:UIControlStateNormal];
104
Gavy

表示されるテキストUIBarButtonITemの色を変更する方法は2つあります。

1)

[barButtonITem setTintColor:[UIColor redColor]];

2)または、任意のUIColorクラスメソッドを使用できます。これは本当に効率的なソリューションです。iOS7の場合、NSForegroundColorAttributeNameを使用して、

barButtonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor clearColor],NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
8

Guvvy Avaからの同様のメモで、次のようにフォントサイズを変更できます。

[buttonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIFont fontWithName:@"Helvetica-Bold" size:26.0], UITextAttributeFont,nil] forState:UIControlStateNormal];
3
mask

Swiftバージョン4.0以降

barButtonITem.tintColor = UIColor.red   // for textColor change

フォントとテキストの色を変更したい場合は、次のコードを使用してください

barButtonITem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor :UIColor.red,NSAttributedStringKey.font:UIFont.init(name:"Avenir", size:15.0)], for: UIControlState.normal)
1
Sunil Singh

システムナビゲーションバーのボタンアイテムを使用している場合は、ボタンの色合いを変更するには、

self.navigationController.navigationBar.tintColor = [UIColor whiteColor];

ボタンのテキストの色を変更するには、次のコードも使用します。

[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]} forState:UIControlStateNormal];

色を変更するビューコントローラの次のコード行を追加します

0
Mehedi Hasan