我想定义一个全局颜色,我可以为各种自定义ui单元格的子状态重用它
不确定这是否是正确的方法,但..
我已经定义了一个名为lightGreyUIColor的类,它有这个.h文件 –
- #import <UIKit/UIKit.h>
- @interface lightGreyUIColor : UIColor
- + (UIColor*)lightGreyBGColor;
- @end
还有这个 . m档案 –
- #import "lightGreyUIColor.h"
- @implementation lightGreyUIColor
- + (UIColor*)lightGreyBGColor {
- return [UIColor colorWithRed:241.0/255.0 green:241/255.0 blue:241/255.0 alpha:1];
- }
- @end
我已将lightGreyUIColor.h文件包含在tableview的实现文件中,并尝试将其作为folows引用 –
- cell.backgroundColor = [UIColor lightGreyBGColor];
解决方法
您应该创建一个类别,而不是子类.这将扩展UIColor类,并为其添加颜色.
.H
- #import <UIKit/UIKit.h>
- @interface UIColor (CustomColors)
- + (UIColor *)myColorLightGreyBGColor;
- @end
.M
- #import "UIColor+CustomColors.h"
- @implementation UIColor (CustomColors)
- + (UIColor *)myColorLightGreyBGColor {
- static UIColor *lightGreyBGColor;
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken,^{
- lightGreyBGColor = [UIColor colorWithRed:241.0 / 255.0
- green:241.0 / 255.0
- blue:241.0 / 255.0
- alpha:1.0];
- });
- return lightGreyBGColor;
- }
- @end
通过这种方式定义颜色和#importing类别,您可以按照自己的方式应用此自定义颜色.