6

ナビゲーションバーのデフォルトの色を変更するために読み続けます。appdelegate の最初のメソッドをこれに更新するだけです。

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

しかし、うまくいかないようなので、firstviewのviewDidLoadメソッドにも設定してみました:

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

これもうまくいきませんでした。どうすればこれを変更できますか?

4

4 に答える 4

6

を使用しないself.parentViewControllerselfください。

self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
于 2012-06-02T18:12:25.857 に答える
1

iPhone 5 が登場したら、両方のデバイス タイプを設定する必要があります。だからこれを使って

if([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) {
    //iOS 5 new UINavigationBar custom background
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbg_ForiPhone5_Imagename.png"] forBarMetrics: UIBarMetricsDefault];
} else {
    [self.navigationController.navigationBar insertSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navbg_ForOtherIphone_Imagename.png"]] atIndex:0];
}
于 2012-12-19T11:58:53.660 に答える
0

Tryself.navigationController.navigationBar.tintColor = [UIColor whiteColor];
UIViewControllerクラスにはプロパティnavigationControllerがあり、その深さに関係なく埋め込まれたナビゲーション コントローラーを返します。それ以外の場合は、を返しますnil

于 2012-06-02T18:11:13.623 に答える