문제

내 앱의 주요 기능은 UitabbarController에 의해 제어됩니다. 그러나 uinavigationcontroller가있는 뷰를로드해야합니다. UITABBARCONTROLLER를 사용하여 돌아올 때

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

내 uitabbarcontroller는 더 이상 클릭에 응답하지 않습니다. 보기에는 초점이없는 것 같습니다.

그러나이 코드를 사용하여 UitabbarController로 다시 전환하는 경우 :

[window addSubview:tabBarController.view]

내 버튼이 응답합니다. "addsubview"는 창에서보기를 절대 제거하지 않기 때문에 "addsubview"가 덜 효율적이라고 생각합니다. 따라서 뷰의 두 번째 사본을 스택에 추가해야합니다. 제가 맞습니까? 첫 번째 방법을 사용하고 내 버튼이 응답하는 방법이 있습니까? 알려주세요.

도움이 되었습니까?

해결책

NAV 컨트롤러를 잘못 표시하는 것 같습니다. 당신은 분명히 창에 직접 뷰를 추가해서는 안됩니다. 당신은 그것을 사용하여 제시하고 싶습니다

[myTabBarController presentModalViewController:myNavController animated:YES];

NAV 컨트롤러를 완료하면

[myTabBarController dismissModalViewControllerAnimated:YES];

그리고 모든 것이 작동해야합니다.

BTW, 이것은 모두 UIViewController의 문서 및 "iPhone OS 용 View Controller Programming Guide"문서에 문서화되어 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top