2011-06-08 84 views
2

我有一个使用UITabBarController作为其外部容器的应用程序。每个选项卡使用UINavigationController作为其根视图控制器。我使用多按钮工具栏作为导航栏的右侧栏按钮。其中一些工具栏按钮对应用程序是通用的;一些涉及个别标签。应用程序设计问题

我的直觉是创建一个基本视图控制器类与所有通用工具栏的构建和实现代码,然后让我的每个根视图控制器继承这个基类。如果他们想向工具栏添加其他按钮,他们只需要重写工具栏构建方法(我将集中构建工具栏),并为其他按钮添加实现代码。

理论上听起来不错,但由于我是Objective-C的新手,我欢迎任何来自更有经验的开发人员的额外意见/建议。

回答

0

如果您的“工具栏构建和实现”中有足够的可重用代码来激励您实现基类并在子类上重用它,那么它实际上听起来像是一个很好的解决方案。

您应该分析的一件事是您将扩展哪个类:UIViewController或UIToolBar。

如果你只是想要一个自定义的可重用工具栏,只改变一些视觉属性(如左侧按钮的标签,或让右侧按钮可见或不等,),也许最好的办法是实现一个从UIToolBar扩展的基类,然后在视图控制器中使用它。但是,如果您从工具栏的按钮或任何超出简单视觉属性设置的“繁重代码”中执行相当复杂的逻辑处理操作,那么创建扩展UIViewController的基类听起来就像是一种更好的方法。

更好的选择取决于你和你想要实现/重用。

祝你好运!

+0

是的,我有足够的通用实现代码(超出工具栏构造),但感谢a)让我放心,我在正确的轨道上,b)提醒我准确选择我需要扩展的类这种情况。 – wayne 2011-06-09 10:22:49