iOS中的全局颜色定义

时间:2015-09-11 11:51:58

标签: ios objective-c uicolor

我想在我的应用中定义一些颜色。我对此有点新意,所以我不太确定在哪里放置我的颜色定义。

我可以将颜色定义为:

lightColor = [UIColor colorWithRed:48/255 green:160.0/255 blue:255.0/255 alpha:1.0];

但是,为了在整个应用程序中使用它,我该把它放在哪里?

道歉,如果这是一个非常简单的问题,但我似乎无法在任何地方找到答案!

1 个答案:

答案 0 :(得分:5)

您可以使用Category定义全局颜色。首先,在Xcode中创建一个新文件,这次选择 Objective-C File 。下一个类型,

  • 文件:MyColor(例如)
  • 文件类型:类别
  • 分类:UIColor

现在您拥有自己的类别,该类别由Xcode生成,您可以在UIColor中添加自定义方法和属性,而无需对其进行子类化。以下是添加所需颜色的示例:

UIColor + MyColor.h

+ (UIColor *)myLightColor;

UIColor + MyColor.m

+ (UIColor *)myLightColor 
{
    static UIColor *myLightColor = nil;
    static dispatch_once_t dispatchToken;

    dispatch_once(&dispatchToken, ^{
        myLightColor = [UIColor colorWithRed:48.0/255 green:160.0/255 blue:255.0/255 alpha:1.0];
    });

    return myLightColor;
}

每当您需要在其他文件中使用自定义颜色时,只需导入UIColor+MyColor.h,并使用以下颜色:

self.aTitle.textColor = [UIColor myLightColor];