无法在 iOS7 中使用自定义 RGBa 设置 barTintColor



我的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);

最新更新