【问题标题】:How to handle AVPlayer when device changes orientation?设备改变方向时如何处理 AVPlayer?
【发布时间】:2016-06-11 11:58:21
【问题描述】:

我的应用仅支持纵向。但是我在一个屏幕中使用了 AVPlayerViewController。应用程序有 UINavigationViewController 和 UITabBarViewController。当设备在视频播放期间旋转到横向模式时,我很难改变它的框架?

我怎样才能做到这一点?我应该在哪里更改 AVPlayerView 的框架?

【问题讨论】:

    标签: objective-c landscape-portrait screen-rotation avplayerviewcontroller avplayerview


    【解决方案1】:
    NSNumber *val = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft];
    [[UIDevice currentDevice] setValue:val forKey:@"orientation"];
    

    或者询问可见的视图控制器:

    - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
        return self.CurrentViewController.preferredInterfaceOrientationForPresentation;
    }
    
    - (BOOL)shouldAutorotate {
        return self.CurrentViewController.shouldAutorotate;
    }
    

    【讨论】:

    • 应用此代码后是否需要更改 AVPlayerView 的框架?
    • 首先检查而不更改框架...如果不起作用,那么我认为您必须重置图层的框架,然后将其重新添加到视图中
    猜你喜欢
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多