本仓库托管了工具 SwiftColorGen 使用的核心包。
该工具为 Swift 项目生成代码,旨在提高 UIColors 的可维护性。
在 iOS 项目中管理颜色可能具有挑战性。在故事板的不同地方重用颜色,以及以编程方式访问它们将非常有用。 在代码中,您可以将颜色分组在一个地方,但通常会在故事板的许多地方重新定义相同的颜色。 当您需要更新颜色时,您需要记住在所有地方替换它们,因此,这变得难以维护。
自 Xcode 9 以来,我们能够在 Assets catalog 中定义颜色资源,从而允许我们在故事板内部重用颜色并以编程方式访问它们。 但是,这仍然不完美。
SwiftColorGen 读取所有故事板文件以查找常用颜色,并在 .xcassets 文件夹中创建它们(没有任何重复),并在故事板中引用它们。 然后,它创建一个 UIColor 扩展,允许以编程方式访问相同的颜色。 它会自动为找到的颜色命名。 该名称将是最接近的 webcolor 名称,测量它们之间的颜色距离。 但是,用户仍然可以重命名颜色,并且它将保持故事板更新。
动态命名颜色的规则
SwiftColorGen 是用 Swift 编写的,需要 Swift 才能运行。 该项目使用 AEXML 作为依赖项来读取和写入 XML,并使用 CommandLine 来提供命令行界面。
该项目仍处于开发的初始阶段。 欢迎通过测试和报告错误来做出贡献。 如果您想帮助开发它,请查看 issues 部分。 如果您修复了一些问题或进行了一些改进,请打开一个 pull request。
SwiftColorGen 在 MIT 许可下可用。 有关更多信息,请参见 LICENSE 文件。