什么是iOS的等同于Android的colors.xml

clo*_*ith 15 resources colors ios

在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>
Run Code Online (Sandbox Code Playgroud)

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

我希望最终能够取代喜欢的东西[UIColor greenColor][MyColor greenColor].

Lui*_*smi 12

比以后更好......

对于Swift:

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

extension UIColor{

    static func color1() -> UIColor{

        return Utils.UIColorFromRGB(0x333333)
    }

    static func color2() -> UIColor{

        return Utils.UIColorFromRGB(0xffffff)
    }
}
Run Code Online (Sandbox Code Playgroud)

在另一个类(可能是Utils.swift)这个函数:

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)
    )
}
Run Code Online (Sandbox Code Playgroud)

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

tableView.backgroundColor = UIColor.color1()
Run Code Online (Sandbox Code Playgroud)

编辑: 将函数更改为静态,以便可以像普通iOS颜色一样使用颜色,而无需创建UIColor实例.


car*_*lli 11

我没有遇到像这样的默认文件.您可以创建自己的自定义.plist文件,该文件包含值,并在应用启动时加载.另一种选择是创建一个类别,UIColor其中有一堆类方法返回您想要的颜色.

您可以创建如下所示的内容:

UIColor+CustomColors.h:

@interface UIColor (CustomColors)

    + (UIColor *)customColor1;
    + (UIColor *)customColor2;
    ...

@end
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

然后在你设置背景的地方你可以得到这样的东西:

ViewController.m:

#import "UIColor+CustomColors.h"

...

view.backgroundColor = [UIColor customColor1];
Run Code Online (Sandbox Code Playgroud)


Bry*_*yce 5

从 Xcode 9 开始,您可以在资产目录中定义颜色:

创建或使用现有的资产目录并单击编辑器左下角的加号按钮并选择“新颜色集”:

在此处输入图片说明

您将看到一种名为“颜色”的新颜色。

单击它,然后单击以显示属性检查器:

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

在这里您可以定义您的颜色和许多其他选项。

双击名称以更改颜色名称。

在此处输入图片说明

Sketch 和 Zeplin 等设计工具将允许您将颜色从设计海峡导出到 Xcode 的颜色资产中:

https://blog.zeplin.io/asset-catalog-colors-on-xcode-9-c4fdccc0381a