我找到了一个很好的设计模式来应用程序。假设...你有几个不同的类需要不同的字体,大小不同。
我最初的方法是建立一个UIFont类别,并放置一堆方法...说...
+ (UIFont*)myTabBarFont;
我只是想知道是否有人有更优雅的解决方案。
谢谢!
(BTW我需要保持与iOS 4的兼容性,我不能100%依赖新的Appearance api。)
编辑:
我会自己回答这个问题。我实际上正在寻找的是一种优雅的皮肤组件应用程序方法。
其中一个选项是使用Inversion of Control,而不是抓取,无处不在,特定的字体和颜色,你可以简单地创建一个AppearanceManager,并传递控件&你希望剥皮的环境。例如:
[[AppearanceManager sharedInstance] skinComponent:something container:somethingElse];
通过这种方式,您可以在一个班级中维护所有样式。当然,AppearanceManager类将依靠反射来获取要应用的属性。
如果有人实施了更好的方法,那就太棒了。
谢谢!
答案 0 :(得分:1)
我认为您应该将所有设置存储到单独的文件中,并根据皮肤名称或皮肤ID手动调用它们。如果你使用plist文件然后你可以用一个命令将它加载到一个数组中,这个数组的元素将分别表示每个皮肤的值框