使用UINavigationController进行自动旋转

时间:2009-06-23 23:45:20

标签: uinavigationcontroller rotation

我对如何旋转坐在UINavigationController上的视图有点不清楚。

我用自己的覆盖覆盖了UINavigationController对象:

  
      
  • (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {return YES; }
  •   

我在控制器上的堆栈上有一个视图,该视图是从xib加载的,其中包含两个视图。我想从纵向切换到横向。通常我会通过从视图本身的nib文件中更改视图来处理此问题。我是否必须在导航控制器中或在我的视图代码中实现旋转代码?

  
      
  • (无效)willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation                                                                                               持续时间:(NSTimeInterval)持续时间
  •   

那将是动画代码,我习惯在视图中使用,但我仍然没有看到视图被更改,我想我可能需要访问NavigationController中的视图改变它,甚至在导航控制器中覆盖相同的方法,并在那里切换视图。

有什么建议吗?我以前从未真正做过这件事,只是默认情况下发现TabViewControllers和NavigationControllers都是纵向模式。

1 个答案:

答案 0 :(得分:0)

原来无法更改视图,因为我试图更改导航控制器上的RootView。我通过放置我自己的伪根视图控制器来解决这个问题,这个控制器永远不会在导航堆栈的根点上看到。我覆盖了一些导航控件以解决这个问题,因此功能将继续保持不变,并且我可以根据需要更改所需的感知根视图。

可以在此链接中找到正确方向的开头:

http://starterstep.wordpress.com/2009/03/05/changing-a-uinavigationcontroller的根 - 视图 - 控制器/