我的viewDidLoad中有一个简单的代码,用于更改iOS7中导航栏的颜色:
if([UINavigationBar instancesRespondToSelector:@selector(barTintColor)]){
self.navigationController.navigationBar.barTintColor= [UIColor colorWithRed:33 green:50 blue:86 alpha:1];
}
当视图加载时,条形图完全变白。但如果我将其更改为:
self.navigationController.navigationBar.barTintColor= [UIColor redColor];
它完美无缺。是不支持某些颜色,还是我做错了什么?
答案 0 :(得分:5)
您必须将rgb颜色值除以255并转换为float,如下所示:
self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:33.0f/255.0f green:50.0f/255.0f blue:86.0f/255.0f alpha:1.0f];
通常我声明以下宏:
#define Color(r,g,b,a) [UIColor colorWithRed:(r/(float)255) green:(g/(float)255) blue:(b/(float)255) alpha:a]
并以这种方式使用它:Color(33,50,86,1);