【发布时间】:2011-10-29 16:03:51
【问题描述】:
我想让我的 iPhone 应用程序能够在皮肤之间切换(或设计主题,或外观和感觉,如木质、金属、大地色、男士、女孩等......)。
我将准备一些包含按钮和背景图像、声音和文本颜色的皮肤集,并让用户通过应用程序设置来决定他们想要使用的皮肤集。
实现这一点的最佳做法是什么?
条件是:
- 我想使用界面生成器
- 我需要支持 iOS 3.1.3 及更高版本
- 我想让这组皮肤可以从互联网上下载(我不能在应用程序中捆绑所有皮肤,因为一组皮肤需要大量图像,如果我这样做,应用程序文件可能会变得很大。 .. 我也不想硬编码有关特定皮肤的任何信息。)
- 如果自定义皮肤不包含一个或一些元素(例如图像或声音文件),我希望它使用默认皮肤集中缺少的元素。
- 我不想为每个皮肤创建 Nib 文件。一个屏幕的 Nib 文件应该是主包中唯一的一个,以便于维护。
我正在考虑在我的应用程序中创建一个所有 UIViewControllers 的超类并覆盖它加载 Nib 文件的部分,而不是从主包加载,而是从保存在 Document 目录中的皮肤加载资源...但我不知道该怎么做... Nib加载方法的默认行为总是从主包中加载资源,并且在阅读后有关资源文件名的信息会丢失... :(
提前感谢您的帮助。
【问题讨论】:
-
这里有关于如何给 iOS 应用程序换肤的非常详尽的解释:stackoverflow.com/questions/8919334/… 它还解释了如何给笔尖换肤,尤其是。从 iOS 5 开始。