主题/皮肤化iOS应用程序的最佳做法?

时间:2012-11-25 02:52:14

标签: iphone ios ipad uitableview

对iOS应用程序进行主题/换肤的最佳做法是什么?

示例:

  • 使用自定义图像作为屏幕背景。
  • 修改UITableView表的外观。
  • 具有自定义外观的按钮。

优秀教程的链接是一个优势。

6 个答案:

答案 0 :(得分:6)

您可以创建一个协议来定义返回特定于主题的颜色,图像等的方法。符合此协议的所有类都必须实现这些方法。

@protocol MyCustomThemes <NSObject>
-(UIFont*)writingAreaFont;
-(UIColor*)dataCellLabelColor;
-(UIImage*)dataCellBackgroundImage;
@end

答案 1 :(得分:2)

我可以建议:

  1. 制作主题课
  2. 制作返回背景图片的功能
  3. 使函数返回数据单元格。
  4. 在主题课中制作任何所需的功能。
  5. init函数应该有一个参数来plist文件,其中包含您的类正常工作所需的资产(图像)。它应该是一个plist文件,其中包含预定义键的字典。

    我希望有所帮助。

答案 2 :(得分:2)

您可以查看NUI,它可以让您轻松修改应用的主题/皮肤,并为其他应用保存该主题。

例如,如果您想使用自定义图像作为所有UIView的背景,您只需将以下内容放在NUI样式表中:

ViewBackgroundImage    String    MyImage.png

NUI也支持UITableViews和UIButtons的样式(如其他示例中所述)。

答案 3 :(得分:2)

您可能想查看Freestyle。它建立在Pixate之上,并使用结构化Sass为您的应用设置样式。您只需更改变量值即可创建新主题,或通过CSS或Sass扩展和自定义它。

答案 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它在现有项目中很容易实现。看看吧。