xcode - 在 xcode 颜色资产中按十六进制代码搜索颜色
问题描述
如果资产中已经存在像 #4D4D4D 这样的颜色,我如何在 Xcode 中搜索?我试过用十六进制代码搜索,但没有显示任何内容。
解决方案
单独使用 Xcode 是不可能的,但使用终端命令是可能的。
假设您在资产中定义了一个新的颜色集。如果您打开 Inspector 并选择此设置,您可以通过十六进制模式定义颜色:
如果您随后在左窗格中选择此颜色并选择“在 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"
和"blue" : "0x56"
. 但是 Xcode 不允许在文件中指定这样的 AND 搜索。
但是,这可以使用终端命令来实现。这篇文章展示了许多使用变体grep
和awk
命令的示例,这些命令使用某种正则表达式来表达文件中的 AND 条件。此答案中提到的单线是:
awk 'NR==FNR{a[$0];next} {for(s in a) if(!index($0,s)) exit 1}' strings RS='^$' file
语法可能有点神秘,但它应该可以工作。
为了找到资产目录中的所有文件,您必须指定此目录的搜索路径(最简单的方法是从 Finder 将此文件夹绘制到终端命令),并指定递归搜索。
可能需要安装适当的命令,因为并非所有命令都已预先安装。PS:我自己没试过,祝你好运!
推荐阅读
- c# - 获取调用 SIPSorcery 的 RTP 端口
- python - 使用 ajax 使用来自 python 函数的数据更新 html div,该函数从 html 表单获取输入
- swift - 处理来自 UIKit 的 SwiftUI 视图回调
- linux - 最后一个字符出现在行首
- php - PHP 8.0.7 password_verify 因错误而终止
- python - N个epoch后如何调整学习率?
- javascript - 仅返回数组中的一个对象
- javascript - 如何将 blob 文件从反应转换为 url?
- sql - sql中的date_part确定没有周末的天数
- vba - 对浮点进行平方会产生“负零”并使 MDeterm 崩溃