2011-11-22 100 views
1

我想设置所有我的标签栏的导航栏UIBarStyleBlack。如何设置“更多”标签栏的编辑视图的导航栏黑色?

我也可以做到这一点与此“更多”标签栏:

tabBarController.moreNavigationController.navigationBar.barStyle = UIBarStyleBlack; 

的问题是,当你点击它的顶部编辑按钮,自定义标签它提出了一个新的模态控制器与标准蓝色导航栏,我无法设置它UIBarStyleBlack。

+0

发现此页面[链接](http://runmad.com/blog/2010/01/coloring-fun-with-morenavigationcontroller-and-it/ ) – Rivera

+0

好像我可以捕捉实现此标签栏的模式编辑视图委托方法 - (void)tabBarController:(UITabBarController *)控制器willBeginCustomizingViewControllers:(NSArray *)viewControllers – Rivera

回答

3

该链接有一个轻微的hackie解决方案,涉及到何时会出现模态视图。

Colouring fun with moreNavigationController

直到iOS5的+,使我们能够做一个更清洁的方式。

+0

在主要应用程序中完成它并没有被拒绝 - >工作正常。 – Till

+0

这不是真的那么哈克。这并不像你在调整或使用私人API。无论如何,只是想评论一下,所有这些都可以通过UIAppearance在iOS 5及更高版本上完成。 – runmad

0

Sublcass UITabBarController并覆盖这些方法:

- (void)tabBar:(UITabBar *)tabBar willEndCustomizingItems:(NSArray<UITabBarItem *> *)items changed:(BOOL)changed { 
    self.moreNavigationController.navigationBar.barStyle = UIBarStyleBlack; 
} 

- (void)tabBar:(UITabBar *)tabBar didBeginCustomizingItems:(NSArray<UITabBarItem *> *)items { 
    self.moreNavigationController.navigationBar.barStyle = UIBarStyleDefault; 
} 
相关问题