【发布时间】:2011-10-10 16:37:06
【问题描述】:
我试图弄清楚如何在我的 iPhone 应用程序中创建标准的外观和感觉。 因此,如果我想更改 UIView 的背景,我通常会在 all 我的视图控制器中执行类似的操作:
self.view.backgroundColor = [UIColor groupTableViewBackgroundColor]
当您要管理 50 个 UIView 时,这变得非常多余且容易出错。当然,客户每 3 天左右更改一次他们想要的背景图像。所以我的下一个选择是创建帮助文件,例如:
@implementation GuiDefaultsUIView
+ (void) setDefaultProperties:(UIView *) view {
view.backgroundColor = [UIColor groupTableViewBackgroundColor];
然后手动调用[GuiDefaultsUIView setDefaultProperties:self.view];
从每个视图控制器。这行得通,这就是我现在的做法,但这意味着对于每个 UI 对象(例如 UIButton、UITableView),我需要为每个类的每个实例调用一个类似的函数。
我想做的是将其标准化,以便获得默认的外观和感觉,我可以在需要时覆盖它。我考虑过子类化UIView/UIButton/UITableView,但这似乎不是正确的方法。添加类别会很好,但我认为覆盖默认方法(例如:init)也不是正确的方法。
所以。你会如何标准化你的外观和感觉?
【问题讨论】:
-
这与What is the recommended method of styling an iOS app 是同一个问题,因为您正在寻找一种间接方式来从一个共同点设置多个元素的样式。我觉得这个问题没有明确的答案。
-
@Jano 我不会说我正在寻找一个明确的答案。更像是最佳实践。不过感谢您的链接。这有点帮助。
标签: iphone objective-c user-interface look-and-feel