【问题标题】:Orientation problem when I set a RootViewController设置 RootViewController 时的方向问题
【发布时间】:2011-06-30 09:45:04
【问题描述】:

我正在做一个通用 ios 游戏,但我遇到了方向问题。我的应用程序都处于横向模式。如果我做 presentModelViewController 一切正常,但如果我做 setRootViewController,新控制器以纵向模式出现。

我做错了什么?

【问题讨论】:

  • 这个问题你解决了吗?我也遇到了同样奇怪的问题,稍后更改 RootViewController 会使新呈现的视图控制器在纵向模式下短暂显示,然后将其旋转到横向模式

标签: ios ios4


【解决方案1】:

我不确定这是否是您的问题,但我有一个应用程序,它以纵向模式的一个视图控制器开始,然后我试图以横向模式呈现第二个视图控制器。我也在使用 setRootViewController 技术,这样我就不必取消分配/重新分配第二个视图控制器并丢失我的状态信息,因为用户会经常在两个视图之间切换。

我遇到了同样的问题,即第二个视图控制器总是以纵向模式而不是横向模式显示,即使视图控制器本身指定它永远不允许纵向模式。

我的解决方法是确保在应用程序委托中我使用

呈现第一个视图控制器
[window setRootViewController:controller];

而不是

[window addSubview:controller.view];

这是一个较旧的应用程序,原始模板默认使用 addSubview。似乎如果没有指定原始根视图控制器,则必要的方向消息将永远不会发送到设置为根的后续视图控制器。希望对您有所帮助!

【讨论】:

    【解决方案2】:

    你设置了吗

    UIInterfaceOrientation
    

    在您的 info.plist 文件中键入您想要的方向? (在这种情况下是景观

    【讨论】:

    • 我已经这样做了。如果我使用 setRootViewController 在应用程序的开头添加控制器,一切正常,但如果我在添加其他控制器后添加它,它们就会有这些奇怪的海狸。
    • AddChildNavigationController * navCon = [[AddChildNavigationController alloc] initMe]; UIWindow * window = [[UIApplication sharedApplication] keyWindow]; [窗口 setRootViewController:navCon]; [窗口 makeKeyAndVisible]; [navCon 发布];
    • 这是在您的application:didFinishLaunchingWithOptions: 方法中还是在其他地方?另外,您如何处理 AddChildNavigationControllershouldAutorotateToInterfaceOrientation: 方法中的旋转?
    猜你喜欢
    • 2010-12-16
    • 2012-06-28
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    相关资源
    最近更新 更多