UIColor colorWithRed: green: blue: alpha: 产生与故事板滑块不同的颜色
UIColor colorWithRed: green: blue: alpha: produces different color than storyboard sliders
我 运行 遇到故事板的问题,我试图在代码中重现故事板中选取的颜色。
我制作了一个小示例应用程序来向您展示我的意思:
在情节提要中,我做了一个简单的 viewcontroller,中间有一个按钮。我设置视图和按钮的背景颜色如下:
Color picker in storyboard
然后我将按钮连接到生成以下日志的这段代码:
- (IBAction)testColor:(UIButton *)sender
{
CGFloat red, green, blue, alpha;
[sender.backgroundColor getRed:&red green:&green blue:&blue alpha:&alpha];
NSLog(@"\nred:%f\ngreen:%f\nblue:%f\nalpha:%f\n", red, green, blue, alpha);
[sender setBackgroundColor:[UIColor colorWithRed:223 / 255.0f green:175 / 255.0f blue:0 / 255.0f alpha:1.0f]];
[sender.backgroundColor getRed:&red green:&green blue:&blue alpha:&alpha];
NSLog(@"\nred:%f\ngreen:%f\nblue:%f\nalpha:%f\n", red, green, blue, alpha);
}
2015-11-24 18:20:43.812 colorTest[9311:205700]red:0.840786
green:0.629816
blue:0.030545
alpha:1.000000
2015-11-24 18:20:43.815 colorTest[9311:205700]
red:0.874510
green:0.686275
blue:0.000000
alpha:1.000000
Screen before (left) and after (right) clicking button
谁能解释一下是什么导致了故事板和代码值之间的差异,以及我如何解决这个问题以便我可以始终如一地使用颜色?
您必须将颜色设置为 "Generic RGB"。在 "RGB Sliders" 下拉列表(在 Interface Builder 中)旁边,您可能会看到一个设置轮。点击它并设置 "Generic RGB"。这可能会解决您的问题
我 运行 遇到故事板的问题,我试图在代码中重现故事板中选取的颜色。 我制作了一个小示例应用程序来向您展示我的意思: 在情节提要中,我做了一个简单的 viewcontroller,中间有一个按钮。我设置视图和按钮的背景颜色如下: Color picker in storyboard
然后我将按钮连接到生成以下日志的这段代码:
- (IBAction)testColor:(UIButton *)sender
{
CGFloat red, green, blue, alpha;
[sender.backgroundColor getRed:&red green:&green blue:&blue alpha:&alpha];
NSLog(@"\nred:%f\ngreen:%f\nblue:%f\nalpha:%f\n", red, green, blue, alpha);
[sender setBackgroundColor:[UIColor colorWithRed:223 / 255.0f green:175 / 255.0f blue:0 / 255.0f alpha:1.0f]];
[sender.backgroundColor getRed:&red green:&green blue:&blue alpha:&alpha];
NSLog(@"\nred:%f\ngreen:%f\nblue:%f\nalpha:%f\n", red, green, blue, alpha);
}
2015-11-24 18:20:43.812 colorTest[9311:205700]red:0.840786
green:0.629816
blue:0.030545
alpha:1.000000
2015-11-24 18:20:43.815 colorTest[9311:205700]
red:0.874510
green:0.686275
blue:0.000000
alpha:1.000000
Screen before (left) and after (right) clicking button
谁能解释一下是什么导致了故事板和代码值之间的差异,以及我如何解决这个问题以便我可以始终如一地使用颜色?
您必须将颜色设置为 "Generic RGB"。在 "RGB Sliders" 下拉列表(在 Interface Builder 中)旁边,您可能会看到一个设置轮。点击它并设置 "Generic RGB"。这可能会解决您的问题