【问题标题】:Interface Orientation with TabBarControllerTabBarController 的界面方向
【发布时间】:2012-08-29 04:56:41
【问题描述】:

我在我的应用程序中使用标签栏控制器。在应用程序的大部分行为中,我们只有一个方向(interfaceOrientationPortrait)。但我有一个在 WebView 中运行视频的视图。当我运行这个视频时,方向仍然是纵向的。我想把所有的方向。

好吧,我在我的视频类中使用了返回类型 YES。什么也没有变。我在 RootViewController 类中将返回类型更改为 YES。什么也没有变。

我只想更改视频的方向。

【问题讨论】:

    标签: ios xcode uiwebview uiinterfaceorientation


    【解决方案1】:

    如果任何标签栏控制器无法旋转到该方向(至少在标签栏可见的情况下),作为标签栏控制器一部分的视图控制器将不会旋转到该方向。因此,如果 Web 视图控制器在标签栏控制器上可见,也许您想更新所有控制器的方法,以便让旋转发生。

    如果您需要更深入的解释,请询问。祝你好运!

    编辑(示例代码)

    这可能是标签栏控制器视图控制器的旋转方法:

    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
        if ((self.tabBarController.selectedIndex == kMyWebViewControllerIndex))
        {
            return YES;
        } else
        {
            return (orientation == UIInterfaceOrientationPortrait);
        }
    }
    

    【讨论】:

    • 知道了!你有一些代码供我分析吗?我想了想,但我不知道如何把它放在xcode上......(ios开发中几乎是新的=/)
    • 我已经编辑了我的答案。有什么问题请告诉我!
    • 我的问题还是一样...你还有什么建议吗?
    【解决方案2】:

    您的 Web 视图是否位于 tabBarController 内的视图控制器中?

    尝试在模态显示的视图控制器中显示它,它应该可以工作

    【讨论】:

    • 是的!但是我的标签栏控制器具有返回类型肖像...我想将自动旋转仅用于我的视频,在网络视图中...
    • 我的意思是,不要在 tabBar 中显示你的 webView,而是像这样呈现一个 modalController:[self presentModalViewController:controllerWithWebView animated:YES];
    • huuum,我会把这一行放在我的 webView 类上吗?
    • 不完全是,假设您的标签栏控制器在 a、b 和 c(所有视图控制器)之间交换,并且您想在进入 c 控制器时显示一个 webView,您要做的是,创建一个显示 Web 视图的新控制器,并将该代码放在“c”控制器类中,由按钮或其他东西触发
    • 这将做的是你进入'c'控制器,并显示一个按钮或任何你想要的“播放视频”,当你按下它时,一个新的控制器会显示在标签栏上方,显示视频。我希望这会有所帮助...
    猜你喜欢
    • 2013-04-21
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    相关资源
    最近更新 更多