我想用已经定义的颜色更改标题颜色。这是我的代码。
#define GHOSTWHITE_COLOR ([UIColor colorWithRed:248/255.0 green:248/255.0 blue:255/255.0 alpha:1]);
[loginBtn setTitleColor:GHOSTWHITE_COLOR forState:UIControlStateNormal]
但是我遇到这个错误:
表达式结果未使用**或**预期的']'
问题是#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];