ナビゲーションバーの戻るボタンの色をこのように変更したい
backBarButtonItem
のtintColor
を設定します。
self.navigationItem.backBarButtonItem.tintColor = [UIColor redColor];
[〜#〜] tip [〜#〜]:これをallに適用する場合)デフォルトでアプリケーションのUIBarButtonItem
インスタンスの場合、新しい UIAppearance
APIを使用して、次のことを実行できます。
[[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];
BackBarButtonItemがNULLだったため、jacobの回答の最初の行は機能しませんでした。後で他のViewControllerに切り替えるときに自動的に作成されるため、NULLです。その際、ボタンのタイトルは次のように設定できます。
self.title = @"Nice title"; // self is here the view(controller) within the popoverController
ただし、tintColorを設定することはできません。
私にとってうまくいったのは、スタイルのない新しいUIBarButtonItemを作成することでした。次に、titleプロパティとcolorプロパティを設定し、backBarButtonItemとして設定します。
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] init];
backButton.title = @"go back - now!";
backButton.tintColor = [UIColor colorWithRed:0.1 green:0.5 blue:0.7 alpha:1.0];
self.navigationItem.backBarButtonItem = backButton;
[okButton release];
ボタンを写真とまったく同じように見せたい場合は、画像を使用することもできます。
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"back_button_bg"]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
良い結果を得るには、背景画像はサイズ変更可能な画像である必要があります。
グローバルまたはローカルに設定するために私が見つけた最良の方法は
[[UIBarItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:220.0/255.0 green:104.0/255.0 blue:1.0/255.0 alpha:1.0], UITextAttributeTextColor,
[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"AmericanTypewriter" size:0.0], UITextAttributeFont,
nil]
forState:UIControlStateNormal];