对iOS应用程序进行主题/换肤的最佳做法是什么?
示例:
优秀教程的链接是一个优势。
答案 0 :(得分:6)
您可以创建一个协议来定义返回特定于主题的颜色,图像等的方法。符合此协议的所有类都必须实现这些方法。
@protocol MyCustomThemes <NSObject>
-(UIFont*)writingAreaFont;
-(UIColor*)dataCellLabelColor;
-(UIImage*)dataCellBackgroundImage;
@end
答案 1 :(得分:2)
我可以建议:
init函数应该有一个参数来plist文件,其中包含您的类正常工作所需的资产(图像)。它应该是一个plist文件,其中包含预定义键的字典。
我希望有所帮助。
答案 2 :(得分:2)
您可以查看NUI,它可以让您轻松修改应用的主题/皮肤,并为其他应用保存该主题。
例如,如果您想使用自定义图像作为所有UIView的背景,您只需将以下内容放在NUI样式表中:
ViewBackgroundImage String MyImage.png
NUI也支持UITableViews和UIButtons的样式(如其他示例中所述)。
答案 3 :(得分:2)
答案 4 :(得分:2)
Old question, but still - if you're looking for best practices, then UIAppearance
is probably it.
However, if you're looking for a more powerful way to style your app (and create themes) - also have a look at InterfaCSS. InterfaCSS uses stylesheets inspired by CSS (and Less/Sass) that support a rich selector syntax and lets you use standard UIKit property names.
答案 5 :(得分:1)
我知道这可能会迟到但我偶然发现了一个名为Pixate的主题框架。 Pixate允许您使用css主题所有组件。它本地意味着没有Web视图和什么不是AND它在现有项目中很容易实现。看看吧。