删除使用故事板创建的导航栏中的半透明栏

Rod*_*rra 7 iphone objective-c ios

我从故事板创建了一个navigationController,现在我正在尝试删除它的半透明选项

我把它放在我的appdelegate.m上

[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:52.0/255 green:152.0/255 blue:219.0/255 alpha:1]];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];

[[UINavigationBar appearance] setTranslucent:NO];
Run Code Online (Sandbox Code Playgroud)

但这会导致我的应用程序崩溃,但是我不确定这是否是正确的方法.

我发现了这个类似的问题,但没有解决我的问题: 导航控制器透明栏样式无法正常工作

但我不知道该怎么做,因为我没有变量navController,因为我从故事板创建了我的navigationController.如何以编程方式调用故事板导航控制器并执行类似的操作?

谢谢

wib*_*obm 10

如果您使用故事板设计视图,则可以使用XCode解决问题.选择NavigationBar小部件并取消选中"Translucent".

XCode 5


bla*_*305 7

将其添加到viewDidLoad出现在导航堆栈上的第一个视图控制器上:

self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;
Run Code Online (Sandbox Code Playgroud)

  • 据苹果称,UIBarStyleBlackOpaque 已“弃用” (2认同)