gpt4 book ai didi

objective-c - 如何定义 UIColor 的常量值?

转载 作者:IT老高 更新时间:2023-10-28 11:28:53 26 4
gpt4 key购买 nike

我想做这样的事情,但我无法获得合作语法。

static const UIColor *colorNavbar = [UIColor colorWithRed: 197.0/255.0 green: 169.0/255.0 blue: 140.0/255.0 alpha: 1.0];

我想我可以定义宏,但它们很丑。

最佳答案

我喜欢使用类别来扩展类,并为这类事情提供新方法。下面是我今天刚刚写的一段代码:

@implementation UIColor (Extensions)

+ (UIColor *)colorWithHueDegrees:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness {
return [UIColor colorWithHue:(hue/360) saturation:saturation brightness:brightness alpha:1.0];
}

+ (UIColor *)aquaColor {
return [UIColor colorWithHueDegrees:210 saturation:1.0 brightness:1.0];
}

+ (UIColor *)paleYellowColor {
return [UIColor colorWithHueDegrees:60 saturation:0.2 brightness:1.0];
}

@end

现在我可以在代码中执行以下操作:

self.view.backgroundColor = highlight? [UIColor paleYellowColor] : [UIColor whitecolor];

我自己定义的颜色与系统定义的颜色完全吻合。

(顺便说一句,我开始更多地考虑 HSB 而不是 RGB,因为我更关注颜色。)

关于预先计算值(value)的更新:我的直觉是它不值得。但如果你真的想要,你可以用静态变量来内存值:

+ (UIColor *)paleYellowColor {
static UIColor *color = nil;
if (!color) color = [UIColor colorWithHueDegrees:60 saturation:0.2 brightness:1.0];
return color;
}

你也可以制作一个宏来做内存。

关于objective-c - 如何定义 UIColor 的常量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2718507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com