9

我开发了 iPad 应用程序。我正在使用导航控制器在弹出窗口中打开一些屏幕。但是我没有在IOS 7中更改navigationcontroller tint color。如何更改此颜色。谢谢

在此处输入图像描述

UINavigationController *navigationController = [[[UINavigationController alloc] initWithRootViewController:airportsSearch] autorelease];
navigationController.navigationBar.barTintColor = [UIColor blackColor];
navigationController.navigationBar.translucent = NO;
self.popOver=[[UIPopoverController alloc] initWithContentViewController:navigationController];

self.popOver.delegate                    = self;
[self.popOver setPopoverContentSize:CGSizeMake(285, 370)];

[self.popOver presentPopoverFromRect:tempButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
4

2 回答 2

35

这里的神奇词是barStyle,如果需要黑色,则需要执行以下操作:

navigationController.navigationBar.barStyle = UIBarStyleBlack;
navigationController.navigationBar.translucent = NO;

如果你想改变它的颜色:

navigationController.navigationBar.barTintColor = [UIColor redColor];
navigationController.navigationBar.barStyle = UIBarStyleBlack;
navigationController.navigationBar.translucent = NO;
于 2013-09-30T17:03:15.543 回答
6

将 NavigationBarStyle 设置为 UIBarStyleBlack 也对我有用,但只能通过情节提要。

我试过了

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

[[UINavigationBar appearanceWhenContainedIn:[UIPopoverController class], nil] setBarStyle:UIBarStyleBlack];

在 didFinishLaunchingWithOptions AppDelegate 方法中。但什么都没有改变。只有在Storyboard中更改 NavigationControllers NavigationBar 的 BarStyle 才有效。

于 2014-03-02T21:41:24.513 回答