web-dev-qa-db-ja.com

IOS 5ナビゲーションバーの戻るボタンの色を変更するにはどうすればよいですか?

ナビゲーションバーの戻るボタンの色をこのように変更したいenter image description here

13
Nilesh Tupe

backBarButtonItemtintColorを設定します。

self.navigationItem.backBarButtonItem.tintColor = [UIColor redColor];

[〜#〜] tip [〜#〜]:これをallに適用する場合)デフォルトでアプリケーションのUIBarButtonItemインスタンスの場合、新しい UIAppearance APIを使用して、次のことを実行できます。

[[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];
63
Jacob Relkin

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];
8
svn

ボタンを写真とまったく同じように見せたい場合は、画像を使用することもできます。

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"back_button_bg"]
                                        forState:UIControlStateNormal
                                      barMetrics:UIBarMetricsDefault];

良い結果を得るには、背景画像はサイズ変更可能な画像である必要があります。

3
Andreas Ley

グローバルまたはローカルに設定するために私が見つけた最良の方法は

    [[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];
0
Zeev Vax