如何在iOS中更改导航控制器的工具栏颜色?

时间:2011-08-24 17:30:23

标签: iphone ios uinavigationcontroller uinavigationbar

我正在尝试更改导航栏的颜色。以下rgb用于深红色,但我的导航栏在以下代码后变为白色。

navigationController.navigationBar.tintColor = [UIColor colorWithRed:117 green:4 blue:32 alpha:1];

5 个答案:

答案 0 :(得分:28)

这是因为CGFloat值的范围为0.0 to 1.0而不是0 to 255,而1.0以上的值则被解释为1.0

以下是文档:UIColor

答案 1 :(得分:16)

这样做:

navigationController.navigationBar.tintColor = [UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1];

答案 2 :(得分:6)

您必须将每个值除以255.尝试:

[UIColor colorWithRed:117/255.0f green:4/255.0f blue:32/255.0f alpha:1]

答案 3 :(得分:3)

我发现如果您来自网络或类似Photoshop之类的东西,使用十六进制颜色会更容易。您可以使用此宏:

//RGB color macro
#define UIColorFromRGB(rgbValue) [UIColor \
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

并像这样使用它:

self.navigationBar.tintColor = UIColorFromRGB(0xd8dadf);

答案 4 :(得分:0)

啊,这很有趣。真正的答案是.tintColor设置导航控制器导航项的颜色(如"完成"按钮)。