在UITabBarController和UINavigationController之间切换

时间:2009-05-25 16:53:37

标签: iphone uitabbarcontroller

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

返回我的UITabBarController时
        self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:0];

我的UITabBarController不再响应点击次数。似乎View没有焦点。

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

[window addSubview:tabBarController.view]

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

1 个答案:

答案 0 :(得分:1)

听起来好像你正在错误地呈现导航控制器。你绝对不应该直接向窗口添加视图。您想使用

呈现它
[myTabBarController presentModalViewController:myNavController animated:YES];

完成导航控制器后,您可以使用

将其关闭
[myTabBarController dismissModalViewControllerAnimated:YES];

一切都应该有效。

BTW,这些都记录在UIViewController的文档和“适用于iPhone OS的View Controller编程指南”文档中。