Iphone 在UIDABBARC控制器和UINavigationController之间切换

Iphone 在UIDABBARC控制器和UINavigationController之间切换,iphone,uitabbarcontroller,Iphone,Uitabbarcontroller,我的应用程序的主要功能由UITabBarController控制。但是,我需要加载具有UINavigationController的视图。当我使用 self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:0]; 我的UtiAbbarController不再响应单击。看来这个观点没有焦点 但是,如果我使用此代码切换回UITabBarCon

我的应用程序的主要功能由UITabBarController控制。但是,我需要加载具有UINavigationController的视图。当我使用

        self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:0];
我的UtiAbbarController不再响应单击。看来这个观点没有焦点

但是,如果我使用此代码切换回UITabBarController:

[window addSubview:tabBarController.view]

我的按钮会响应。我觉得“addSubview”效率较低,因为我从未从窗口中删除视图,因此它必须将视图的第二个副本添加到堆栈中。我说得对吗?有没有办法使用第一种方法让我的按钮响应?请让我知道。

听起来可能是您对导航控制器的介绍不正确。您绝对不应该直接向窗口添加视图。您想使用

[myTabBarController presentModalViewController:myNavController animated:YES];
当你使用完导航控制器后,你可以用

[myTabBarController dismissModalViewControllerAnimated:YES];
一切都会好起来的


顺便说一句,这些都记录在UIViewController文档和“iPhone操作系统视图控制器编程指南”文档中。

n8gray。。。你刚刚救了我的命。完美的我只是把导航控制器开错了。我真的很感激。您可能需要编辑帖子以删除此行中的破折号:[myTabBarController-DismissModalViewController-Imaged:YES];Mayer你可以帮我。。。每次我尝试
-dismissModalViewControllerAnimated:
,我都会遇到这样的错误:“UIViewControllerHierarchyInconsistency”,原因:“PresentedViewControllerforController本身处于关闭状态,原因是:嗯,我不确定,但听起来可能是您以某种方式从自身呈现了视图控制器?