我想将导航栏色调颜色设置为RGB(255,80,30),如附图所示。但是当我执行模拟器时,我得到了不同的颜色。
这是我在视图控制器中的代码
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UIColor *backgroundColor = [Theme colorProperty:BACKGROUND_COLOR
fromTabMenu:CALENDAR];
CGFloat redvalue, greenvalue, bluevalue, alphavalue;
[backgroundColor getRed:&redvalue green:&greenvalue blue:&bluevalue alpha:&alphavalue];
NSLog(@"red:%f, green:%f, blue:%f, alpha:%f", redvalue*255.0, greenvalue*255.0, bluevalue*255.0, alphavalue*255.0);
[self.tabBarController.tabBar setTintColor:backgroundColor];
[self.navigationController.navigationBar setBarTintColor:backgroundColor];
}
我在控制台输出中得到以下值。
2014-03-14 04:37:49.404 planner[46712:70b] red:255.000000,
green:80.000003,
blue:30.000000,
alpha:255.000000
如您所见,我设置了正确的R G B值,但我无法获得预期的颜色。这有什么问题?
答案 0 :(得分:3)
将导航栏设置为不是半透明的。您的viewDidLoad方法应如下所示:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UIColor *backgroundColor = [Theme colorProperty:BACKGROUND_COLOR
fromTabMenu:CALENDAR];
CGFloat redvalue, greenvalue, bluevalue, alphavalue;
[backgroundColor getRed:&redvalue green:&greenvalue blue:&bluevalue alpha:&alphavalue];
NSLog(@"red:%f, green:%f, blue:%f, alpha:%f", redvalue*255.0, greenvalue*255.0, bluevalue*255.0, alphavalue*255.0);
[self.tabBarController.tabBar setTintColor:backgroundColor];
[self.navigationController.navigationBar setBarTintColor:backgroundColor];
// Set to NOT translucent.
[self.navigationController.navigationBar setTranslucent:NO];
}
答案 1 :(得分:1)
颜色显得更亮,因为导航栏很可能将translucent
属性设置为YES
(iOS 7中的默认行为)。因为它略微透明,所以当在白色背景前呈现时颜色看起来更轻。要解决此问题,请设置self.navigationController.navigationBar.translucent = NO
答案 2 :(得分:1)
正如实验一样,将UIView
设置为此[UIColor colorWithRed:1.000000F green:0.313725F blue:0.117647F alpha:1.0F]
,这就是您正在寻找的确切RGB,我之所以说UIView是因为没有样式或色调应用于那里,您可以确定是否photoshops颜色设置与iOS不同。
<强>更新强>
将背景设置为RBG颜色时,不会呈现photoshop显示的相同颜色。
更新2
我不是这方面的专家,但我知道Photoshop可以针对具有不同颜色设置的不同媒体(发布,网络,设备等)进行设置,也许可以看一下。在应用商店中获取Color Maker
以确认您的颜色。