2011-11-22 2 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 *) 컨트롤러 willBeginCustomizingViewControllerers : (NSArray *) viewControllers – Rivera

답변

3

링크에는 모달보기가 표시 될 때 청취가 포함 된 약간의 해킹 솔루션이 있습니다.

Colouring fun with moreNavigationController

iOS5 버전이 깨끗한 방법으로 그것을 할 우리가 수까지.

+0

주요 응용 프로그램에서 수행했으나 거부되지 않았습니다. 잘 작동합니다. – Till

+0

그것은 실제로 그 해커가 아니에요. 그것은 당신이 swizzling하거나 개인 API를 사용하는 것과는 다릅니다. 어쨌든 iOS 5 이상에서 UIAppearance를 사용하여이 모든 작업을 수행 할 수 있다고 언급하고 싶습니다. – 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; 
}