2009-05-25 2 views
0

내 응용 프로그램의 주요 기능은 UITabBarController에 의해 제어됩니다. 그러나 UINavigationController있는 뷰를로드해야합니다. 내 UITabBarController로 돌아갈 때UITabBarController와 UINavigationController 사이를 전환

 self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:0]; 

내 UITabBarController가 더 이상 클릭에 응답하지 않습니다. 보기에 초점이없는 것 같습니다. 내가 다시 UITabBarController가로 전환하려면이 코드를 사용하는 경우

그러나 :

[window addSubview:tabBarController.view] 

내 버튼이 응답합니다. "addSubview"는 창에서 뷰를 제거하지 않으므로 효율성이 떨어 지므로 뷰의 두 번째 복사본을 스택에 추가해야합니다. 나 맞아? 첫 번째 방법을 사용하고 내 단추를 응답하는 방법이 있습니까? 저에게 알려주세요.

답변

1

Nav 컨트롤러를 잘못 제시 한 것 같습니다. 뷰를 창에 직접 추가하면 안됩니다. 당신은 당신이 탐색 컨트롤러를 완료하면 당신이

[myTabBarController dismissModalViewControllerAnimated:YES]; 

그것을 취소하고 모든 작업을해야

[myTabBarController presentModalViewController:myNavController animated:YES]; 

사용하여 제시합니다.

참고 사항 :이 문서는 모두 UIViewController 및 "View Controller Programming Guide for iPhone OS"문서에 문서화되어 있습니다.

+0

n8gray ... 방금 내 생명을 구했어. 완전한. 나는 nav 컨트롤러를 잘못 열었을뿐입니다. 정말 감사. 이 줄에서 대시를 제거하려면 게시물을 편집하고 싶을 수 있습니다 : [myTabBarController - dismissModalViewControllerAnimated : YES]; – Dave

+0

죄송합니다. 물론 네 말이 맞다. 편집 됨. 도와 줄 수있어서 기뻐! – n8gray

+0

Mayer 당신은 나를 도울 수 있습니다 ... '-dismissModalViewControllerAnimated : 시도 할 때마다,'UIViewControllerHierarchyInconsistency ', 이유 :'renderedViewController 컨트롤러가 자체적으로 해제됩니다 :