DB5 的一个版本,支持在模拟器上运行应用程序时实时更新 plist 中的值。现在您可以在几分钟内对您的应用程序进行几十次调整!
请参阅演示应用程序以获取示例
请注意,这将在设备上不起作用。
要将它添加到您的应用程序中
[themeLoader loadThemes];
Run Script
构建步骤添加到您的目标中:. $SRCROOT/../Source/VSSymlinkThemesScript.sh。请参阅演示应用程序的示例,只需查看应用程序代理即可。工作原理:您的应用程序构建后,构建脚本会删除您的 DB5.plist,并用源副本的符号链接替换它。在模拟器上,这允许应用程序在不重新构建的情况下加载数据。
代码添加了监视文件更改的额外特效。如果文件更改,回调会被调用,通常会导致应用程序刷新。
对于更高级的用法,您可以在这里触发 NSNotification,以便单个视图控制器可以自己刷新,而不是刷新根视图控制器。当处理更复杂的应用程序时,这有助于将变更和结果之间的反馈循环减少到几乎为零。
CGRect
、CGSize
或 CGPoint
(例如,0,0,30,20
)UIColor
(例如,255,0,0
)UIColor
使用十六进制编写时可以包含可选的不透明度组件由 Q Branch
通过在 plist 中存储颜色、字体、数字、布尔值等,我们能够快速迭代我们的应用程序 Vesper。
我们的设计师可以轻松做出更改,而无需深入代码或请工程师花时间去调整像素和更改值。
代码或系统没有任何神奇之处:它只是一些简单的代码加上一些约定。
查看演示应用程序。您需要包含两个类 —— 和
VSTheme
—— 以及 DB5.plist。在这份清单文件中设置您的值。
启动时,您通过 VSThemeLoader
加载文件,然后通过 VSTheme
中的方法访问这些值。
大多数方法都很直接。如 -[VSTheme boolForKey:]
返回 BOOL,依此类推。
有些方法在 plist 文件中需要多个值。例如,-[VSTheme fontForKey:]
预期名称为 keyName
的字体和大小为 keyNameSize
。有关这些多键值的更多信息,请参阅 VSTheme.h。
尽管我们在 Vesper 中没有使用此功能,但我们让您可以拥有多个主题。每个主题都继承自 Default 主题。
如果您请求非 Default 主题的值,并且该值在该主题中未指定,则将回退到 Default 以获取该值。
演示应用程序非常简单且规模小。 DB5AppDelegate
加载主题。 DB5ViewController
显示一些示例使用。
还可查看 Examples 文件夹中的 Vesper 的 DB5.plist。
DB5 在 MIT 许可证下可用。有关详细信息,请参阅 LICENSE 文件。