【问题标题】:Interface Orientation Issue接口方向问题
【发布时间】:2012-10-18 19:28:31
【问题描述】:

我有一个小问题。我的应用程序中有一个 TabBarController,然后标签栏中的元素之一是导航控制器。 好吧,在我的导航控制器中,我想使用网络视图播放视频。 我的问题是:有必要更改我的 web 视图的界面方向。当我放一点代码,在方法 shouldAutorotateToInterfaceOrientation 上返回 YES (仅适用于我的 web 视图的类)时,视频仍然没有改变界面。 我使用模态视图控制器来运行我的视频,但我们可以看到同样的问题。 我不知道如何修复它,因为我使用了我所有的 ios 知识。 有什么东西可以放在我的模态视图控制器中来改变我的界面方向吗? 我的应用具有这种结构:

TabBarController->NavigationController ->VIew A->View B(Inside the View B, a ModalViewController)

有人可以帮我吗?

【问题讨论】:

    标签: iphone ios xcode webview orientation


    【解决方案1】:

    如果我正确理解您的问题,您想强制设备的方向。这可以通过修改状态栏的方向来完成:

        [[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationLandscapeLeft animated:NO];
    

    为此,应将您的应用设置为支持自动旋转(从shouldAutorotateToInterfaceOrientation 为所有方向返回“是”);由于您使用的是导航控制器,因此它的根控制器也应该从 shouldAutorotateToInterfaceOrientation 返回 YES。

    您可以在需要切换方向时调用上述方法,即在您要播放视频的那一刻(可能是在您加载网络视图时)。

    【讨论】:

    • 嗯,我想强制它,但对于所有方向,不仅仅是一个特定的
    • 我会把这个放在我的viewDidLoad中吗?还是 shouldAutorotate 方法?
    • 你可以把它放在你要播放视频的地方。
    • 哪种方法?我把它放在 viewDidLoad 上,xCode 称为异常......
    • [BlocoNavViewController setSelectedIndex:]:无法识别的选择器发送到实例 0x71923d0 'NSInvalidArgumentException',原因:'-[BlocoNavViewController setSelectedIndex:]:无法识别的选择器发送到实例 0x71923d0' *** 第一次抛出调用堆栈:( 0x1c9f012 0x10dce7e 0x1d2a4bd 0x1c8ebbc 0x1c8e94e 0x4fb6 0x10f0705 0x27920 0x278b8 0xe8671 0xe8bcf 0xe7d38 0x5733f 0x57552 0x353aa 0x26cf8 0x1bfadf9 0x1bfaad0 0x1c14bf5 0x1c14962 0x1c45bb6 0x1c44f44 0x1c44e1b 0x1bf97e3 0x1bf9668 0x2465c 0x1f5d 0x1e85)的libc ++ abi.dylib:终止称为抛出异常(LLDB)跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 2018-09-05
    • 2010-12-30
    相关资源
    最近更新 更多