使用定义的颜色更改 UIButton 颜色

Change UIButton Color With Defined Color

我想用已经定义的颜色更改我的标题颜色。这是我的代码。

#define GHOSTWHITE_COLOR    ([UIColor colorWithRed:248/255.0 green:248/255.0 blue:255/255.0 alpha:1]);

[loginBtn setTitleColor:GHOSTWHITE_COLOR forState:UIControlStateNormal]

但是我遇到了这个错误:

Expression result unused** or **Expected ']'

问题是 #define 末尾的分号。去掉那里的分号。那么当然你需要在你的常规方法调用中添加一个分号。

#define GHOSTWHITE_COLOR  ([UIColor colorWithRed:248/255.0 green:248/255.0 blue:255/255.0 alpha:1])

[loginBtn setTitleColor:GHOSTWHITE_COLOR forState:UIControlStateNormal];

更好的解决方案是在 UIColor 上创建一个类别,并为您的自定义颜色添加 class 属性。然后你可以像使用任何 other.h

一样使用自定义颜色

UIColor+Custom.h:

@interface UIColor (Custom)

@property (nonatomic, readonly, class) UIColor *ghostWhiteColor;

@end

UIColor+Custom.m:

@implementation UIColor (Custom)

+ (UIColor *)ghostWhiteColor {
    return [UIColor colorWithRed:248/255.0 green:248/255.0 blue:255/255.0 alpha:1];
}

@end

现在您可以像使用任何其他颜色一样使用它了:

[loginBtn setTitleColor:UIColor.ghostWhiteColor forState:UIControlStateNormal];