29

有什么方法可以让UINavigationBariOS 7 的 , 没有半透明的纯色?我尝试设置背景颜色、barTintColor、不透明、透明/半透明等……但没有任何效果。

有人知道怎么做吗?

这是我一直在使用的一些代码块。注意我在navigationBar. 它们中的任何一个,以任何顺序或组合都没有奏效。

@property (strong, nonatomic) UITabBarController *tabBarController;

testViewController = [[TestViewController alloc] init];
anotherViewController = [[AnotherViewController alloc] init];
navigationController = [[UINavigationController alloc]
                            initWithRootViewController:testViewController];

navigationController.navigationBar.barTintColor = [UIColor darkGrayColor;
navigationController.navigationBar.barStyle = UIBarStyleBlack;
navigationController.navigationBar.translucent = YES;
navigationController.navigationBar.opaque = YES;

NSArray *tabBarViewControllers = [NSArray arrayWithObjects:
                                      navigationController,
                                      anotherViewController, nil];
self.tabBarController.viewControllers = tabBarViewControllers;
4

4 回答 4

56

您的代码列出了 navigationController.navigationBar.translucent = YES;

将其设置为否。

于 2013-10-04T23:58:13.703 回答
9

要使其完全不透明,您可以从属性部分本身更改导航栏的样式!

只需将样式设置为黑色!

这就是你让它变黑时的样子

于 2013-10-04T03:35:32.407 回答
7

要使所有导航栏不透明,您可以UINavigationBar.appearance().translucent = false添加application:didFinishLaunchingWithOptions:

于 2016-03-07T14:35:23.747 回答
1
self.navigationController.navigationBar.isTranslucent = false
于 2017-05-18T05:26:21.060 回答