用定义的颜色更改UIButton颜色

问题描述 投票:0回答:1

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

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

[loginBtn setTitleColor:GHOSTWHITE_COLOR forState:UIControlStateNormal]

但是我遇到这个错误:

表达式结果未使用**或**预期的']'

objective-c uibutton title uicolor
1个回答
0
投票

问题是#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属性。然后,您可以像使用其他颜色一样使用自定义颜色。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];
© www.soinside.com 2019 - 2024. All rights reserved.