我正在创建我的自定义MPMoviePlayer。
对于全屏管理,MPMoviePlayerController的行为是这样的:
- (void)setFullscreen:(BOOL)fullscreen animated:(BOOL)animated;我想做同样的事情,但是在所有的UIView上添加一个UIViewController。但在使用UIViewController时,方向不受管理
我当前的代码:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[[appDelegate window] addSubview:myViewController.view];我想使用UIViewController来管理方向。
谢谢你的帮助
发布于 2013-06-11 18:59:16
是的,我可以!
我的ViewController "myViewController“是通过方向管理添加到所有视图上的:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
UIViewController *rootViewController = appDelegate.window.rootViewController;
[rootViewController presentViewController:myViewController animated:NO completion:nil];发布于 2013-05-26 03:13:55
当在该MPMoviePlayerController实例上使用setFullscreen:YES...时,它将停止使用您提供的视图堆栈,转而使用它自己的(直接在窗口上)。
换句话说,
一旦切换到全屏模式,MPMoviePlayerController的view 实例就不会一致地坚持提供的父视图,只有在使用非全屏模式时才会这样做。
要解决该特性,您需要实现自己的方式在全屏和嵌入式模式之间切换。听起来很重要,但实际上是相当微不足道的。
只需在viewController中创建如下所示的方法。
以下假设:
CGRect),该属性包含名为的MPMoviePlayerController实例的viewController内的嵌入式指标我跳过了任何可能的动画,让你自己实现。您还可以在此方法中切换控件样式,以模仿原始行为。
- (void)setFullscreen:(BOOL)fullscreen
{
if (fullscreen)
{
self.player.view.frame = self.view.bounds;
}
else
{
self.player.view.frame = self.embeddedPlayerFrame;
}
}https://stackoverflow.com/questions/16717758
复制相似问题