在UITabBar视图内切换视图

3
我已经创建了一个UITabView应用程序。从选项卡中选择的每个视图都是具有自己的nib文件的单独控制器。我成功地在它们之间切换。
在第一个视图中,我有两个按钮(请查看截图)。当点击它们时,我想要切换到另一个视图,这些视图是当前视图控制器的一部分。我使用:
[self presentModalViewController:anotherViewController animated:NO];

那会切换视图,但会隐藏UITabBar。如何在切换后保留该栏并显示在屏幕上?

alt main alt after_click

抱歉图片有些模糊,我不能分享太多信息。
2个回答

5

2
谢谢。那是个好主意。然而,我仍然有一个问题。我已经添加了UINavigationController而不是UIViewController(请参见http://i50.tinypic.com/2rdd8g4.png),并将UIViewController放在其中。它可以编译,但是在[self.navigationController pushToViewController:anotherViewController animated:NO];处有一个警告,“UINavigationController可能无法响应pushToViewController”。当我尝试使用它时,它会崩溃(“向实例发送未识别的选择器”)。我将非常感激任何提示。 - Jacek
哎呀,你在哪里找到了 pushToViewController:?你是不是想说 pushViewController:animated:?请参考 http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UINavigationController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006934-CH3-SW2 - phunehehe

3

使用方法:tabBarController.selectedViewController = newViewController

编辑:此处不需要UINavigationController。


如果您知道索引,您也可以使用以下代码: tabBarController.selectedIndex = indexOfTabToView; - Eld
如果通过图标的导航纯属分级,适合使用栈模型推入新视图并弹回到先前视图,且没有“循环”的话,我可能仍会使用 UINavigationController。您可以告诉它隐藏导航栏,不使用动画,这样它就不会像一个导航控制器了。(“循环”是指 OS X 中的系统设置面板,其中一个面板通常有一个按钮或其他东西,可跳转到不同的面板而无需弹回顶级控制面板视图。) - Nimrod

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接