通过xcode颜色资产中的十六进制代码搜索颜色

时间:2019-12-24 09:09:41

标签: xcode colors assets

如果资产中已经存在#4D4D4D之类的颜色,我该如何在Xcode中进行搜索?我尝试按十六进制代码搜索,但是什么也没显示。

1 个答案:

答案 0 :(得分:1)

不能同时使用Xcode,但是可以使用Terminal命令。

假设,您在资产中定义了新的颜色集。如果打开检查器并选择此设置,则可以通过十六进制模式定义颜色:
enter image description here

如果然后在左窗格中选择此颜色并选择“在Finder中显示”,则Finder将显示一个文件夹,其中包含一个名为Contents.json的文件。此文件以十六进制包含RGB颜色:

{
  "info" : {
    "version" : 1,
    "author" : "xcode"
  },
  "colors" : [
    {
      "idiom" : "universal",
      "color" : {
        "color-space" : "srgb",
        "components" : {
          "red" : "0x12",
          "alpha" : "1.000",
          "blue" : "0x56",
          "green" : "0x34"
        }
      }
    }
  ]
}

为了找到定义为#1234356的所有颜色,必须在资产目录中搜索包含以下所有字符串的文件:"red" : "0x12""green" : "0x34"和{{1 }}。但是Xcode不允许在文件中指定此类AND搜索。

但是,这可以使用终端命令来实现。 This post显示了使用"blue" : "0x56"grep命令的变体的许多示例,这些变体使用某种正则表达式来表达文件中的AND条件。 this answer中提到的单行代码是:

awk

该语法可能有点含糊,但应该可以。

为了在资产目录中查找所有文件,您必须指定此目录作为搜索路径(最简单的方法是将目录从Finder绘制到terminal命令),并指定递归搜索。

由于并非所有命令都已预先安装,因此可能需要安装适当的命令。 PS:我不是自己尝试的,祝您好运!