2012-03-31 31 views
0

UINvaigationBarの背景色を変更したいと思いますが、tintColorプロパティを使用しましたが、色は変わりません。以下のコードをチェックアウトすることができます。私AppdelegateでUINavigationBarの背景色を変更する

私はUITabBarController

tabbar = [[UITabBarController alloc] init]; 

を作成それから私はその後、この

[tabbar setViewControllers:viewControllers]; //viewControllers is an array of UINavigationControllers 
ように私のタブバーにUINavigationControllersを添付UINavigationControllerを作成し、それに

UINavigationController *myNavigation = [[UINavigationController alloc] initWithRootViewController:myViewController]; 

を私のUITableViewControllerを添付

プロパティtintColorをこの

[[myNavigation navigationBar] setTintColor:[UIColor redColor]]; 

ようmyAppdelegateしかし、予想通り、これは動作しませんでしたので、私は私のViewController

- (void)viewWillAppear:(BOOL)animated { 
     [super viewWillAppear:animated]; 
     [self.navigationController.navigationBar setTintColor:[UIColor blackColor]]; 
     self.navigationController.navigationBar.barStyle = UIBarStyleBlack; 
     self.navigationItem.title = @"Test"; 
    } 

で同じことを試しても何も起こりません。ナビゲーションバーの外観を確認するには、下の画像をチェックしてください。

enter image description here

あなたの助けに感謝。

乾杯 水差し同じのためのコードの下に確認してくださいティントカラーの代わりに画像を使用することができて、あなたの周りの仕事として

+0

これは奇妙な音です。私の場合[self.navigationController.navigationBar setTintColor:[UIColor blackColor]];この行はうまくいく.. –

+0

あなたの質問をUpvoted誰かがそれに気づくでしょう.. :-)) –

+0

ええと...奇妙で奇妙な!私はtitleViewを設定しようとしましたself.navigationItem.titleView = viewForTitle;それはうまくいく。だから私は推測正しいUINvaigationControllerオブジェクトを参照しています。 – Jugs

答えて

1

if ([myNavigation respondsToSelector:@selector(setBackgroundImage:forToolbarPosition:barMetrics:)]) { 
     [myNavigation setBackgroundImage:[UIImage imageNamed:BAR_IMAGE_NAME] forbarMetrics:UIBarMetricsDefault]; 
    }else { 
     [myNavigation insertSubview:[[[UIImageView alloc] initWithImage:[UIImage imageNamed:BAR_IMAGE_NAME]] autorelease] atIndex:0]; 
    } 
+0

それはうまくいった!ありがとう! – Jugs