0

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

我已经用我自己的一个覆盖了 UINavigationController 对象:

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

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

  • (void)willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 持续时间:(NSTimeInterval)duration

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

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

4

1 回答 1

0

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

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

http://starterstep.wordpress.com/2009/03/05/changeing-a-uinavigationcontroller的-root-view-controller/

于 2009-07-06T17:01:57.260 回答