2012-01-12 3 views
0

전 세계 tabBarController를 내가 작업하고있는 아이폰 앱에 넣었습니다. 그러나 내 화면 중 하나에서 전역 tabBarController와 다른 로컬 tabBar를 넣어야했습니다.글로벌 tabBar에 로컬 tabBar 배치 (글로벌 tabBarController 있음)

두 가지 방법으로 수행했습니다. 1) self.tabBarController.tabBar.hidden = yes;로 전역 tabBar를 숨 깁니다. 보기에 로컬 tabBar를 그 위치에 두는 것입니다. 그러나 tabBar의 프레임이 흰색으로 표시됩니다. 2) 작동하는 전역 tabBar의 하위보기로 로컬 tabBar를 추가하여 시도했지만 화면이 언로드 된 후 [localTabBar removeFromSuperView]를 적용해도 로컬 tabBar가 제거되지 않습니다. 미리

감사 ..

Global tabBarController: 
tabBarController   = [[UITabBarController alloc] init]; 
tabBarController.viewControllers = [NSArray arrayWithObjects:ActivityTabnav,nav2,privateChatnav,ExploreTabnav,nav3,tempTabnav, nil]; 

localtabBar는 뷰의 ViewController의 XIB에 한 tabBar이다. viewDidLoad에있는 > vIewDidUnLoad에

UIWindow* window = [[UIApplication sharedApplication] keyWindow]; 
[window addSubview:self.tabBar]; 

는>

[self.tabBar removeFromSuperview]; 

은 이전 I는 다른 화면에 유지 된 로컬 self.tabBar 하위 뷰로서 self.tabBarController.tabBar에 self.tabBar를 추가하려고 시도.

고맙습니다 ...

답변

1

내가 이것을 찾은 가장 깨끗한 방법은 컨트롤러의 hidesBottomBarWhenPushed 속성을 설정 한 다음 UINavigationController (필요없는 경우 navigiationBar 숨기기) 안에 배치하는 것입니다. 공백을 두지 않고 UITabBarController'sUITabBar을 숨 깁니다.

그러면 로컬 UITabBarUIViewController's보기에 직접 넣을 수 있습니다.

또 다른 가능성은 UITabBarController'sUITabBar을 숨긴 다음 로컬 UITabBarUITabBarController's보기의 하위보기로 추가하는 것입니다. 물론 필요할 때 superview에서 제거해야합니다.

+0

나는 그것을 두려워했다. hidesBottomBarWhenPushed 속성을 설정했지만 화면이 언로드 된 후에도 superTab에서 제거되지만 localTabBar는 그대로 유지됩니다. 나는 local tab bar를 전역 tabBar와 tabBarController View의 하위 뷰로 설정했다. – Dinesh

+0

안녕하세요, 고맙습니다. .. viewController 설정의 기능을 초기화 할 때 전역 tabBar의 hidesBottomBarWhenPushed가 트릭을 수행했습니다. – Dinesh

0

한 가지 방법은 Window에 TabBar를 추가하는 것입니다. 그러나 당신이 올바르게 취급하는지 확인하십시오. 당신은 ... 현재 창 개체를 복용하여 창을 추가 한 다음 아래 ... 그것에 TabBar의 추가 ...

UIWindow* window = [[UIApplication sharedApplication] keyWindow]; 
[window addSubview:tabbar]; 

하나의 옵션이 될하지만 신중하게 처리 할 수 ​​있습니다

+0

tabBar를 추가하지만 화면이 언로드되면 (예 : viedDidUnload) [tabBar removeFromSuperview]가 탭을 제거하지 않습니다. 이 로컬 뷰는 다른 화면에 유지됩니다. 감사합니다 ... – Dinesh

+0

몇 가지 코드를 게시 할 수 있습니까? – DShah

+0

코드를 추가했습니다. 확인해 주시겠습니까? 고마워 .. – Dinesh

관련 문제