我在我的iPad应用中单独viewController
(比如videoViewController
)播放YouTube视频,我有一个家庭视图控制器,其中有一个按钮可以加载videoViewController
。
当我点击播放图标时,每件事情都很好。我正在使用此代码
[_webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: [NSString stringWithFormat:@"https://www.youtube.com/embed/%@", @"eOG90Q8EfRo"]]]];
现在这个videoViewController
顶部有一个后退按钮,使用下面的代码:
[self.navigationController popViewControllerAnimated:YES];
当我点击它时,会显示主页viewController
,但视频会继续播放。即使我再次访问videoViewController
,它仍然会播放,直到我选择要播放的新视频。
我尝试在管道视图控制器之前调用viewDidUnload
并尝试下面的代码
- (void)viewDidUnload {
[_webview stopLoading];
_webview.delegate = nil;
[self setWebview:nil];
}
然而没有任何反应,我希望当我按下后退按钮时该视频停止播放。
我猜视频是在iOS提供的MPMoviePlayerController
中播放有任何方式,以便我可以获取它以使视频停止。
答案 0 :(得分:1)
当您想要返回主控制器时,只需使用加载空白页。
[self.webView.mainFrame loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
答案 1 :(得分:0)
你在为iOS 6写作吗?
如果是,则不推荐使用viewDidUnload。尝试使用viewDidDisappear。
- (void)viewDidDisappear {
[_webview stopLoading];
_webview.delegate = nil;
[self setWebview:nil];
}
答案 2 :(得分:0)
好的,我找到了解决问题的方法。
最后我开始工作了:
-(void)viewWillDisappear:(BOOL)animated
{
[_webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
}