如何在没有UINavigationController的情况下动画detailViewController视图?

问题描述:

在iPad应用程序中,我有一个tableView作为顶级viewController的子视图 - 我们称之为topVC。 tableView由专用的viewController控制,tblVC,这是topVC的财产。我需要tableView来支持iPhone风格的detailView导航。如何在没有UINavigationController的情况下动画detailViewController视图?

设置在topVC.xib在IB一个UINavigationController财产,以tblVC有线作为RootViewController的,没有工作,所以我在topVC viewWillAppear:设置它的UINavigationController编程与tblVC初始化它作为RootViewController的,并设置其观点为topVC的子视图。该功能按需要运行,但在旋转到横向时,navigationController的navigationBar会弹出到视图的顶部。

是否有可能通过基本的iPhone风格的滑入动画手动实现detailView导航而没有UINavigationController,使用UINavigationBarUINavigationItem?我想将detailView设置在tableView的框架之外并手动滑动它,但是它只是使它看起来在另一个子视图上并滑入tableView。这个怎么做?

你可以考虑使用一个弹出窗口视图控制器,并在里面的主机一个标准的UINavigationController,与你的UITableViewController里面。

否则,你将不得不推出自己的导航控制器。我发现这是一个真正的PITA来改变/影响你所看到的一些固有行为,比如重新定位旋转。

+0

在topVC子视图中使用放置在tableView上的UINavigationBar(而不是使用UINavigationController进行配置)解决了方向更改问题,即iOS按预期重新流动/重新调整子视图的大小。 popover是一个很好的替代建议,但不是我所追求的。谢谢。 – seeker12 2010-11-13 17:33:22