gpt4 book ai didi

objective-c - 在 MoviePlayer 上按下完成后,iOS 6 方向会自动旋转回纵向

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:58 27 4
gpt4 key购买 nike

我正在使用 MoviePlayer Controller 在我的 iOS 应用程序中播放视频。我正在使用这样的方向通知

if(deviceOrientation ==UIDeviceOrientationLandscapeLeft)

{
NSLog(@"Replay is in Landscape");

self.fullScreenFlag = YES;

[self.moviePlayer setFullscreen:YES animated:NO];

}

这使我的视频屏幕在用户将手机转到横向时全屏播放。但是当我按下 moviePlayer 控件上的完成按钮时,我进入以下方法

- (void)movieWillExitFullscreen:(NSNotification*)notification
{

UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;

if(deviceOrientation ==UIDeviceOrientationLandscapeLeft) {
NSLog(@"Pressed Done in Landscape");
//Problem: Here I want to force my VideoViewController to rotate back to portrait Mode
}
}

不确定如何让 VC 在用户按下完成按钮或视频停止播放后立即返回纵向。我知道 moviePlayerNotificationMethods 但我应该在这些方法中调用什么来定位尚不清楚。

最佳答案

我通过使用单独的视频播放 View Controller 解决了这个问题。

所以,你会有两个 View Controller

  • 一些 View Controller
  • 电影播放器​​ View Controller

在你的 SomeViewController 中,当你想播放电影时:

MoviePlayerViewController *vc = [[MoviePlayerViewController alloc] initWithNibName:@"MoviePlayerViewController" bundle:nil];
[vc setPathToMovie:path];
[self.navigationController pushViewController:vc animated:YES];
[vc release];

然后在您的 MoviePlayerViewController 中

- (void) moviePlayBackDidFinish:(NSNotification*)notification
{
[[self navigationController] popViewControllerAnimated:YES];
}

然后您可以将您的 SomeViewController 锁定为纵向,如果用户在观看视频时处于横向,他们将在弹出回到 SomeViewController 时返回纵向。

我从未找到使用 deviceOrientation 方法和模态 MPMoviePlayerController 的解决方案。虽然可能有一个!

关于objective-c - 在 MoviePlayer 上按下完成后,iOS 6 方向会自动旋转回纵向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14389227/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com