gpt4 book ai didi

ios - 将支持的界面方向设置为 'All' 只有 MPMoviePlayerController 在 swift 中处于事件状态

转载 作者:行者123 更新时间:2023-11-29 01:51:05 24 4
gpt4 key购买 nike

我正在尝试仅设置界面方向 MPMoviePlayerController 处于事件状态。与此同时,一部电影开始播放。在项目的目标中,我检查了PortraitLandscape LeftLandscape Right。此外,在 AppDelegate 文件中,我实现了 supportedInterfaceOrientationsForWindow 方法,并尝试检查 presentedViewController 是否为 MPMoviePlayerController。但是,我无法正确实现它。我怎样才能用正确的方法解决我的问题?当 MPMoviePlayerController 处于事件状态时更改支持的界面方向的最佳解决方案是什么?

谢谢你的回答

国王问好

最佳答案

你需要 UIInterfaceOrientationMaskAll 只有 MPMoviePlayerController 所以,在创建 Controller 时使用 BOOL 变量来识别接口(interface)是否需要。

MPMoviePlayerViewController *playerController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:moviePath]];

覆盖 initWithContentURL 方法并将 AppDelegate BOOL 变量设置为 YES 并在 viewWillDisappear 处将 BOOL 设置为 NO .

在 Appdelegate.m 中

#pragma mark --- Orientation Changes for Movie

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

if (self.OrientationNeeded)
{
return UIInterfaceOrientationMaskAll;
}
return UIInterfaceOrientationMaskPortrait;
}

流程将是完美的,首先调用您的 init 方法并设置 BOOL 变量,然后调用 supportedInterfaceOrientationsForWindow 方法并在 View 退出时恢复 BOOL。

关于ios - 将支持的界面方向设置为 'All' 只有 MPMoviePlayerController 在 swift 中处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31402808/

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