作为标题,当我使用moviePlayer播放电影时,我想知道playControllerBar何时会被清除,这样我就可以控制在moviePlayer中添加的视图。有人知道这件事吗?告诉我,谢谢。
发布于 2010-06-30 15:45:38
我不能百分之百确定我是否理解正确。我假设你想要做的是:
假设我刚刚写下了什么,我认为你必须考虑以下事情:
MPMoviePlayerViewController上添加自定义覆盖:在播放器顶部的setControlStyle:MPMovieControlStyleNone;
addSubview程序作为任何其他视图moviePlayerViewController.view addSubview:overlay;
上面的代码/概念将在3.2和更高版本上工作,因为我刚刚读到你显然是在为3.0进行开发
我现在不会删除我答案的第一部分,而是解释如何在3.0上实现同样的效果
在3.0上,这有点棘手(你现在肯定知道了)。MPMoviePlayerController不是一个视图控制器,只能在全屏模式下工作。一旦电影开始播放,keyWindow就会改变!因此我们通过实现以下代码来利用这一点:
1)在封装MPMoviePlayerController的类中,通过执行以下操作开始侦听UIWindowDidBecomeKeyNotification:
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(keyWindowChanged:)
name: UIWindowDidBecomeKeyNotification
object: nil];2)使用你的keyWindowChanged:方法,你可以添加你的覆盖,下面的代码片段就是我实现它的方式:
- (void)keyWindowChanged: (id) sender {
//NSLog(@"keyWindowChanged");
[[NSNotificationCenter defaultCenter] removeObserver: self name: UIWindowDidBecomeKeyNotification object: nil];
UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];
[moviePlayerWindow addSubview: overlayController.view];
[overlayController performSelector:@selector(fadeIn)];
}同样,这只有在MovieControllMode被“隐藏”的情况下才有效:
[newMPController setMovieControlMode: MPMovieControlModeHidden];希望我能帮上忙。
https://stackoverflow.com/questions/3146860
复制相似问题