菜鸟教程小白 发表于 2022-12-13 02:06:21

横向 View 中的仅 iOS 视频


                                            <p><p>我正在 xcode 中开发一个新应用程序,该应用程序处于纵向 View ,但视频应该能够处于纵向和横向 View 。我编写了这段代码,但它不能 100% 工作</p>

<p><strong>AppDelegate.h</strong></p>

<pre><code>#import &lt;MediaPlayer/MediaPlayer.h&gt;
@property (strong, nonatomic) MPMoviePlayerViewController *VideoPlayer;
</code></pre>

<hr/>

<p><strong>AppDelegate.m</strong></p>

<pre><code>@synthesize VideoPlayer;

- (NSUInteger)application:(UIApplication *)application
supportedInterfaceOrientationsForWindow:(UIWindow *)window {

    if ([
         isKindOfClass:]) {
      return UIInterfaceOrientationMaskAllButUpsideDown;
    } else {

      if ([
             isKindOfClass:]) {

            // look for it inside UINavigationController
            UINavigationController *nc = (UINavigationController *);

            // is at the top?
            if (]) {
                return UIInterfaceOrientationMaskAllButUpsideDown;

                // or it&#39;s presented from the top?
            } else if ([
                        isKindOfClass:]) {
                return UIInterfaceOrientationMaskAllButUpsideDown;
            }
      }
    }

    return UIInterfaceOrientationMaskPortrait;
}
</code></pre>

<p>此代码的问题是,如果用户在以横向模式观看视频时关闭视频播放器,即使我在 Xcode GUI 中禁用它,在关闭视频播放器(应用程序处于横向 View )后,整个应用程序也会变为横向 View ,如果用户将设备旋转到纵向它会切换到纵向 View ,然后它会保持纵向(无论设备旋转)。即使用户在横向模式下观看视频时关闭了视频播放器,如何让该应用切换到纵向 View ?</p>

<p>谢谢!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>经过长时间的研究,我终于找到了解决方案。 </p>

<p>1) 为您的应用程序启用所有方向。
<img src="/image/6Z1Nd.png" alt="enter image description here"/> </p>

<p>2) 子类化你的根导航 Controller ,并实现这 2 个方法</p>

<pre><code>- (BOOL)shouldAutorotate
{
    return NO;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}
</code></pre>

<p>3) MPMoviePlayerViewController 的子类</p>

<pre><code>- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
}
</code></pre>

<p>4) 现在你应该展示子类的 MoviePlayerController,所有的东西都应该可以工作了!</p></p>
                                   
                                                <p style="font-size: 20px;">关于横向 View 中的仅 iOS 视频,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25959270/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25959270/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: 横向 View 中的仅 iOS 视频