如何以最有效的方式更改“更多”选项卡的导航栏背景和文本颜色?

时间:2011-08-16 17:04:55

标签: objective-c ios uinavigationbar tabbar

我在我的app委托中使用以下UINavigation委托方法来更新所有视图控制器的导航栏背景和文本颜色(这样我就不必为堆栈中的每个视图控制器重复代码。

- (void)navigationController:(UINavigationController *)navigationController 
  willShowViewController:(UIViewController *)viewController animated:(BOOL)animated

除了“更多”标签外,我在应用中的所有标签都能正常使用。我现在在'more tab'中有多个视图控制器

是否可以为“更多”选项卡调用UINavigation委托方法?另外,在更多选项卡中更改所有视图控制器的导航栏和文本颜色的最佳替代方法是什么,而不重复所有视图控制器的代码。

1 个答案:

答案 0 :(得分:0)

我需要多次做同样的事情。我的解决方案是创建一个继承UIViewController的超类,然后在视图中自定义导航栏。然后使用所有视图控制器继承此超类。

此解决方案将所有自定义导航栏更改放入一个位置,因此,如果要更改颜色或添加图像,则只需在该超类中执行此操作。这是继承和代码重用的一个很好的用途,它将使您的类没有重复的代码。