在显示UINavigationController之前交换ViewController

时间:2013-10-17 09:05:46

标签: iphone uiviewcontroller uinavigationcontroller landscape portrait

我很困惑..我已经实现了两个独立的UIViewControllers - 一个用于纵向模式的主VC(PortraitVC),另一个用于横向模式(LandScapeVC)。这是Apple在文档中的“Alternate Views”示例。

  1. 我显示PortraitVC
  2. 我点击一个显示UINavigationController的按钮,按下UITableViewController
  3. 我将UITableViewController旋转到横向
  4. 我按'完成'弹出UITableViewController和UINavigationController
  5. 但是......在我的层次结构中,当我的设备仍处于横向时,我会看到PortraitVC
  6. 我想要做的是以某种方式从层次结构中删除PortraitVC并替换为LandscapeVC,这样当UINavigationController解散时,它会动画回到LandscapeVC。

    在解雇UINavigationController之前,如何用LandscapeVC替换PortraitVC?

    注意我的根视图控制器是PortraitVC或LandscapeVC,这是一个自定义显示 - 所以我不从UINavigationController派生这些。只有当我点击我的根视图控制器上的图像(例如设置按钮)时,我才想启动一系列向下钻取的UITableViewControllers并需要UINavigationController来处理“后退”按钮等。

1 个答案:

答案 0 :(得分:0)

有人在Apple Dev论坛上回复了我的帖子。我已经使用带有纵向和横向子视图控制器的容器视图控制器成功实现了一个解决方案。工作正常。