Android的colors.xml是什么?

在android中有一个XML文件res/values/colors.xml ,可以让你组织你的应用程序中使用的所有颜色。 喜欢这个:

 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="red">#e60012</color> <color name="blue">#33b5e5</color> ... </resources> 

在iOS中有这样的东西吗? 如果不是,整理应用程序中使用的颜色的最佳方法是什么?

我想最终能够用[MyColor greenColor]replace[UIColor greenColor] [MyColor greenColor]

我还没有遇到这样的默认文件。 您可以创build自己的自定义.plist文件,其中包含值,并在应用程序启动时加载。 另一个select是为UIColor创build一个类别,其中有一堆返回所需颜色的类方法。

你可以创build如下所示的东西:

UIColor+CustomColors.h

 @interface UIColor (CustomColors) + (UIColor *)customColor1; + (UIColor *)customColor2; ... @end 

UIColor+CustomColors.m

 #import "UIColor+CustomColors.h" @implementation UIColor (CustomColors) + (UIColor *)customColor1 { return [UIColor colorWithRed:1.0f green:0.5f blue:0.5f alpha:1.0f]; } + (UIColor *)customColor2 { return [UIColor colorWithRed:1.0f green:0.5f blue:1.0f alpha:1.0f]; } ... @end 

那么你在哪里设置背景,你可以有这样的东西:

ViewController.m

 #import "UIColor+CustomColors.h" ... view.backgroundColor = [UIColor customColor1]; 

晚一点再好不过…

对于Swift:

创build一个新类:MyColors.swift,它是UIColor类的扩展:

 extension UIColor{ static func color1() -> UIColor{ return Utils.UIColorFromRGB(0x333333) } static func color2() -> UIColor{ return Utils.UIColorFromRGB(0xffffff) } } 

在另一个类(也许Utils.swift)这个func:

 class func UIColorFromRGB(rgbValue: UInt) -> UIColor { return UIColor( red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0, green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0, blue: CGFloat(rgbValue & 0x0000FF) / 255.0, alpha: CGFloat(1.0) ) } 

你可以像这样使用它(注意UIColor之后的括号)

 tableView.backgroundColor = UIColor.color1() 

编辑:将function更改为静态,以便可以像使用普通iOS颜色一样使用颜色,而无需创buildUIColor实例。