iOS:UIColor不尊重红色,绿色,阿尔法,蓝色。显示其他颜色?
问题描述:
我是iOS
编程的新手。我设计使用sketchiOS:UIColor不尊重红色,绿色,阿尔法,蓝色。显示其他颜色?
,我在Sketch
设计与标签我iOS
应用程序的屏幕调色板看起来像
但是,我这样做在我的代码的时候,我做
self.yearHeaderLabel.font = [UIFont fontWithName:@"HelveticaNeue-Thin" size:30];
self.yearHeaderLabel.textColor = [UIColor colorWithRed:51 green:51 blue:51 alpha:100];
但是当我运行我的应用程序时,我看到
有什么不对
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];
答
小的修正:
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
+1的一个很好的答案 – ArturOlszak 2014-09-04 22:46:23
我没有下来投票,但我想指出的是,你不应该使用'F'使“浮动”值。在64位版本下,'CGFloat'将是一个'double'。 – rmaddy 2014-09-04 22:47:07
@rmaddy,实际上是一个很好的观点,你是否建议在CGFloat上投射 – 2014-09-04 22:48:13