ios – 定义全局颜色

前端之家收集整理的这篇文章主要介绍了ios – 定义全局颜色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想定义一个全局颜色,我可以为各种自定义ui单元格的子状态重用它

不确定这是否是正确的方法,但..

我已经定义了一个名为lightGreyUIColor的类,它有这个.h文件

  1. #import <UIKit/UIKit.h>
  2.  
  3. @interface lightGreyUIColor : UIColor
  4. + (UIColor*)lightGreyBGColor;
  5.  
  6. @end

还有这个 . m档案 –

  1. #import "lightGreyUIColor.h"
  2.  
  3. @implementation lightGreyUIColor
  4.  
  5. + (UIColor*)lightGreyBGColor {
  6. return [UIColor colorWithRed:241.0/255.0 green:241/255.0 blue:241/255.0 alpha:1];
  7. }
  8.  
  9. @end

我已将lightGreyUIColor.h文件包含在tableview的实现文件中,并尝试将其作为folows引用 –

  1. cell.backgroundColor = [UIColor lightGreyBGColor];

这只会为lightgreyBGColor产生一个没有已知的类或方法错误,我哪里出错了,是否有更好的方法来实现全局样式?

解决方法

您应该创建一个类别,而不是子类.这将扩展UIColor类,并为其添加颜色.

.H

  1. #import <UIKit/UIKit.h>
  2.  
  3. @interface UIColor (CustomColors)
  4.  
  5. + (UIColor *)myColorLightGreyBGColor;
  6.  
  7. @end

.M

  1. #import "UIColor+CustomColors.h"
  2.  
  3. @implementation UIColor (CustomColors)
  4.  
  5.  
  6.  
  7. + (UIColor *)myColorLightGreyBGColor {
  8.  
  9. static UIColor *lightGreyBGColor;
  10.  
  11. static dispatch_once_t onceToken;
  12. dispatch_once(&onceToken,^{
  13. lightGreyBGColor = [UIColor colorWithRed:241.0 / 255.0
  14. green:241.0 / 255.0
  15. blue:241.0 / 255.0
  16. alpha:1.0];
  17. });
  18.  
  19. return lightGreyBGColor;
  20. }
  21.  
  22. @end

通过这种方式定义颜色和#importing类别,您可以按照自己的方式应用此自定义颜色.

猜你在找的iOS相关文章