iOS:UIColor不尊重红色,绿色,阿尔法,蓝色。显示其他颜色?

问题描述:

我是iOS编程的新手。我设计使用sketchiOS:UIColor不尊重红色,绿色,阿尔法,蓝色。显示其他颜色?

,我在Sketch设计与标签我iOS应用程序的屏幕调色板看起来像
enter image description hereenter image description here

但是,我这样做在我的代码的时候,我做

self.yearHeaderLabel.font = [UIFont fontWithName:@"HelveticaNeue-Thin" size:30]; 
    self.yearHeaderLabel.textColor = [UIColor colorWithRed:51 green:51 blue:51 alpha:100]; 

但是当我运行我的应用程序时,我看到
enter image description here

有什么不对

self.yearHeaderLabel.textColor = [UIColor colorWithRed:51 green:51 blue:51 alpha:100]; 

为什么没有履行的颜色吗?

您只需做一些小改动。 [UIColor:colorWithRed:green:blue:alpha]需要漂浮物,而不是整数,作为参数。尽量不要使用以下:

self.yearHeaderLabel.textColor = [UIColor colorWithRed:51/255. green:51/255. blue:51/255. alpha:1]; 

您应该将值就像我提出以下,否则不能正常工作

[UIColor colorWithRed:51.0/255.0 green:51.0/255.0 blue:51.0/255.0 alpha:1.0]; 

这意味着你需要规范自己的价值观来在范围< 0值, 1>

编辑(据一些评论这个答案):

AppCode抱怨上那种传递值的感觉满足无线TH这版本:

UIColor colorWithRed:(CGFloat)(51.0/255.0) green:(CGFloat)(51.0/255.0) blue:(CGFloat)(51.0/255.0) alpha:1.0]; 
+0

+1的一个很好的答案 – ArturOlszak 2014-09-04 22:46:23

+1

我没有下来投票,但我想指出的是,你不应该使用'F'使“浮动”值。在64位版本下,'CGFloat'将是一个'double'。 – rmaddy 2014-09-04 22:47:07

+0

@rmaddy,实际上是一个很好的观点,你是否建议在CGFloat上投射 – 2014-09-04 22:48:13

小的修正:

self.yearHeaderLabel.textColor = [UIColor colorWithRed:51.0/255.0 green:51.0/255.0 blue:51.0/255.0 alpha:1]; 
+0

真棒,谢谢你们! – daydreamer 2014-09-04 22:45:24