我的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];
它工作得很好。是某些颜色不受支持,还是我做错了什么?
您必须将 rgb 颜色值划分为 255 并转换为浮点数,如下所示:
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);