iphone - 如何标准化 iPhone 应用程序的外观

标签 iphone objective-c user-interface look-and-feel

我正在尝试弄清楚如何在我的 iPhone 应用程序中创建标准的外观和感觉。 因此,如果我想更改 UIView 的背景,我通常会在我的所有 View Controller 中执行类似的操作:

self.view.backgroundColor = [UIColor groupTableViewBackgroundColor]

当您有大约 50 个 UIView 需要管理时,这会变得相当多余且容易出错。当然,客户每三天左右就会更改一次他们想要的背景图像。所以我的下一个选择是创建辅助文件,例如:

@implementation GuiDefaultsUIView
+ (void) setDefaultProperties:(UIView *) view {
    view.backgroundColor = [UIColor groupTableViewBackgroundColor];

然后手动调用[GuiDefaultsUIView setDefaultProperties:self.view]; 来自每个 View Controller 。这是可行的,这就是我现在所做的,但这意味着对于每个 UI 对象(例如 UIButton、UITableView),我需要为每个类的每个实例调用类似的函数。

我想做的是标准化它,以便我获得默认的外观和感觉,我可以在需要时覆盖它。我考虑过子类化 UIView/UIButton/UITableView 但这似乎不是正确的方法。添加类别会很好,但我认为覆盖默认方法(例如:init)也不是正确的方法。

所以。你会如何标准化你的外观和感觉?

最佳答案

这是一个相对简单的;) 例如,您只需创建一个名为 MyVievController 的自定义 UIViewController 子类,并从该类继承 ViewController。 然后在MyViewController的init和viewWillAppear等中,您可以进行自定义,只需确保在子类中调用super即可。 您可以对 UITableViewController 甚至 UIView 执行相同的操作,以自定义绘图或设置标准属性。

我们一直在我们的应用程序中这样做,而且效果很好。在某些情况下,类别也很好,例如您可以覆盖 UINavigationBar 的 drawRect 方法。

关于iphone - 如何标准化 iPhone 应用程序的外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7709741/

相关文章:

iphone - 将核心数据信息导出到 Excel 工作表

iphone - iOS:无需离开应用程序即可连接到 Facebook 进行授权

iOS/iPad 应用程序,在本地保存数据

java - FEST:通过他的类获取一个组件(继承自一个基础组件)

objective-c - 访问 plist 数据

objective-c - 从 Objective-C 中的正则表达式中提取字符串

ios - 生产应用程序中的 Swift 断言行为

java - 带有复杂编辑器的 JTable

c# - 哪些软件选项可用于原型(prototype)设计和创建 C++ 或 C# 桌面应用程序 GUI?

iphone - NSPredicate 核心数据