【问题标题】:Autorotate with a UINavigationController使用 UINavigationController 自动旋转
【发布时间】:2009-06-23 23:45:19
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: uinavigationcontroller rotation


    【解决方案1】:

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

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

    http://starterstep.wordpress.com/2009/03/05/changing-a-uinavigationcontroller's-root-view-controller/

    【讨论】:

      猜你喜欢
      • 2010-11-01
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 2011-09-29
      • 2010-11-03
      • 2010-11-14
      • 2023-03-22
      • 2012-04-07
      相关资源
      最近更新 更多