色を赤に変えたいです。
この質問に答えました ここ 。基本的に、UIButtonを作成し、必要に応じて構成してから、UIButtonをカスタムビューとして使用してバーボタンアイテムを初期化する必要があります。
タイトルの色を変更する簡単な方法を見つけました: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];
表示されるテキストUIBarButtonITemの色を変更する方法は2つあります。
1)
[barButtonITem setTintColor:[UIColor redColor]];
2)または、任意のUIColorクラスメソッドを使用できます。これは本当に効率的なソリューションです。iOS7の場合、NSForegroundColorAttributeNameを使用して、
barButtonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor clearColor],NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
Guvvy Avaからの同様のメモで、次のようにフォントサイズを変更できます。
[buttonItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIFont fontWithName:@"Helvetica-Bold" size:26.0], UITextAttributeFont,nil] forState:UIControlStateNormal];
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)
システムナビゲーションバーのボタンアイテムを使用している場合は、ボタンの色合いを変更するには、
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
ボタンのテキストの色を変更するには、次のコードも使用します。
[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]} forState:UIControlStateNormal];
色を変更するビューコントローラの次のコード行を追加します