导航栏背景色 - 透明度无效

5
我想将导航栏的背景颜色改为纯绿色。
规则:我不能动 AppDelegate :)
我已经尝试过:
//It's green but it's translucent 
[self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithRed:77/255.0 green:255/255.0 blue:100/255.0 alpha:1.0f]];

//It's white, first line has no effect
[self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithRed:77/255.0 green:255/255.0 blue:100/255.0 alpha:1.0f]];
[self.navigationController.navigationBar setTranslucent:NO];

//Same result as case 1
[self.navigationController.navigationBar setAlpha:0.0f];
[self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithRed:77/255.0 green:255/255.0 blue:100/255.0 alpha:1.0f]];

//Too dark
[self.navigationController.navigationBar setBarStyle:UIBarStyleBlackTranslucent];
[self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithRed:77/255.0 green:255/255.0 blue:100/255.0 alpha:1.0f]];

//Only affects the back button's color:
[self.navigationController.navigationBar setTintColor:[UIColor greenColor]];

任何想法吗?
谢谢,我没注意到还有barTintColor和TintColor。接受最早的答案。

你使用了Storyboard吗?然后选择ViewController,在检查器下的模拟指标中将顶部栏设置为不透明导航栏。 - thorb65
4个回答

17
在您的viewController的didLoad方法中使用这行代码。
self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:29.0f/255.0f green:149.0f/255.0f blue:174.0f/255.0f alpha:1.0f] 

1
使用这个:
self.navigationController.navigationBar.tintColor=[UIColor colorWithRed:19.0/255.0f green:52.0/255.0f blue:36.0/255.0f alpha:1];

0
请使用以下代码,这可能会对您有所帮助。
navController.navigationBar.barTintColor = [UIColor yourcolor];

0

使用navigationBar的barTintColor属性


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接