【问题标题】:Why does the iPad stop auto-rotating when I start overlaying View Controllers?为什么当我开始覆盖视图控制器时 iPad 会停止自动旋转?
【发布时间】:2010-08-19 17:10:14
【问题描述】:

我有一个相当庞大的项目,我正在加载几个视图控制器,一个接一个。首先是启动画面,然后是菜单系统,当用户点击菜单时,它会进入文章视图控制器。

将所有这些都放入 shouldAutorotate... 为所有旋转设置为 YES,这可以正常工作。但是,当识别到点击手势时,我需要在顶部向下滑动菜单栏。我有一个用于主菜单,一个用于文章视图。

如果我放入其中之一,它仍然可以自动旋转。但是,一旦我放入下一个,自动旋转就会停止工作。我尝试将菜单栏放在应用程序委托中,并将它们嵌套在菜单/文章视图控制器中。菜单栏视图控制器也将 shouldAutorotate... 设置为 YES。事实上,项目中的每个视图控制器(全部 7 个)都将其设置为 YES。然而,当我添加第二个菜单栏控制器时,它会停止自动旋转。它甚至不会触发“shouldAutorotate”方法来询问它。

代码太大,无法在此处发布,但如果您特别想查看任何内容,请询问。我完全被难住了!我即将把菜单栏从他们的视图控制器中拉出来,并分别在每个视图控制器中对它们进行编码。这将是大量的代码重复,但我想不出任何其他方法!

有什么想法吗?谢谢!

【问题讨论】:

    标签: objective-c ipad uiinterfaceorientation


    【解决方案1】:

    答案似乎是……不要将视图控制器放在其他视图控制器中!一个视图控制器=一个屏幕,似乎是规则。我有很多东西要学!

    【讨论】:

    • 那不是真正的伴侣。想想 tabBar 和 navigatoncorllers
    • @UrbanSeifert - 是的,但它们似乎是特殊的内置案例。将自定义视图控制器放在其他自定义视图控制器中会破坏某些功能。可能必须实现一些方法并传递一些值,但文档中没有关于它的任何内容。结果,我发现这样做会破坏自动旋转功能。我看过斯坦福的教程,说这也是不好的做法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多