在 iOS 中单击全屏按钮时可以强制 MPMoviePlayerController 横向
Posted
技术标签:
【中文标题】在 iOS 中单击全屏按钮时可以强制 MPMoviePlayerController 横向【英文标题】:Can be force MPMoviePlayerController to landscape when click on Fullscreen button in iOS 【发布时间】:2013-09-13 09:46:13 【问题描述】:我在 detailView(UIVIew) 中创建了一个 MPMoviePlayerController,现在我想在用户单击全屏按钮时强制 MPMoviePlayerController 为横向视图。我可以这样做吗?请给我任何建议。在此先感谢。这是我要创建的代码:
NSURL *movieURL = [NSURL URLWithString:previewString];
movieController = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
[movieController.view setFrame:CGRectMake(10,130, 275 , 150)];
movieController.view.backgroundColor = [UIColor grayColor];
[detailview addSubview:movieController.view];
[movieController prepareToPlay];
movieController.shouldAutoplay = NO;
和willEnterFullscreen()函数:
- (void)willEnterFullscreen:(NSNotification*)notification
NSLog(@"willEnterFullscreen");
donepress = YES;
// nothing
我尝试了搜索,但仍然没有任何好的答案。请帮我。非常感谢
【问题讨论】:
你试过 MPMoviePlayerWillEnterFullscreenNotification 吗? @PoojaBohora: 我添加了 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willEnterFullscreen:) name:MPMoviePlayerWillEnterFullscreenNotification object:nil];在视图中会出现 您可以旋转视图,因为我们无法强制设置方向。 @PoojaBohora:我只想在单击全屏按钮时以横向观看电影播放器。 我也想做同样的事情,我通过旋转视图来做到这一点。试一次。它会解决你的问题。 【参考方案1】:是的,您可以使用两个通知观察者来更改完整方向。
首先,在您的 AppDelegate didFinishLaunchingWithOptions 方法中添加两个通知观察者:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerWillEnterFullscreenNotification:) name:MPMoviePlayerWillEnterFullscreenNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerWillExitFullscreenNotification:) name:MPMoviePlayerWillExitFullscreenNotification object:nil];
二、添加方法和属性
- (void) moviePlayerWillEnterFullscreenNotification:(NSNotification*)notification
self.allowRotation = YES;
- (void) moviePlayerWillExitFullscreenNotification:(NSNotification*)notification
self.allowRotation = NO;
第三,重写supportedInterfaceOrientationsForWindow方法,你可以返回任何你想要的方向
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
if (self.allowRotation)
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
return UIInterfaceOrientationMaskPortrait;
【讨论】:
#import以上是关于在 iOS 中单击全屏按钮时可以强制 MPMoviePlayerController 横向的主要内容,如果未能解决你的问题,请参考以下文章
强制 iOS iPhone youtube 嵌入播放器退出全屏
从 MasterViewController 呈现的 ModalView 在 iOS 5.1 中不再是全屏