2012-01-11 108 views
1

抱歉,模糊的标题!包含UITableView的UINavigationController,然后是具有更多UITableView的UITabBarController

我想实现以下功能:用户首先显示包含UITableView的UINavigationController。当用户点击表格视图中的单元格时,我想推入一个新视图,其中包含一个UITabBarController(,不管当前可见的UIViewController都会保持可见)和一个UITableView,人们可以再次从中选择一个单元格然后再次推送到UINavigationController。

如果用户从UITabBar中选择一个选项卡,我希望第一个屏幕(不包含UITabBar)成为用户可以返回的屏幕,而不是他们刚刚来自的选项卡。另外,如果用户在任何选项卡上选择了其中一个UITableView项目,我希望返回按钮返回到之前显示的屏幕(如同您期望的使用标准UINavigationController一样)

我已经花了数小时试图找到答案,我不能在任何地方!我希望我的解释不会太模糊或混淆。

James。

回答

1

如果您想要的用户体验令人困惑,可以在这里解释一下,请想象一下用户的感受!我会重新考虑预期的设计。

从视图控制器编程指南:

使用一个标签栏控制器还可以使用导航 控制器在一个或多个标签中的应用。当在相同的用户界面结合这两种类型的 视图控制器,标签栏控制器 总是作为包装为导航控制器。你永远不 想在标签栏控制器推到 导航控制器的导航堆栈。否则会导致一个不寻常的情况,即,同时在特定的视图控制器处于 顶部导航堆栈的 标签栏才会出现。标签栏被设计为持久的,因此这种瞬态方法可能会让用户感到困惑。

这就是说,你大概能砍一些接近你在说什么,但你需要写一串代码使用UITabBarControllerDelegateUINavigationControllerDelegate方法来处理导航和跟踪任何你需要的状态根据用户操作知道您想要导航到的位置。很可能你会遇到一些复杂的代码,维护和更糟糕的用法。

+0

感谢。我最终改变了视图,以便UITabBar始终显示,而我所说的第一个屏幕是在用户第一次启动应用程序时显示为模式视图(它是为用户选择一个供用户使用的购物篮在其他观点) – 2012-01-12 15:48:01

相关问题