0

我在我的 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];
}

但是没有任何反应,我希望当我按下后退按钮时该视频停止播放。

我猜视频是在MPMoviePlayerControlleriOS 提供的播放中播放的,有什么方法可以让我获得对它的引用以使视频停止。

4

3 回答 3

1

当你想回到主控制器时,只需使用加载空白页。

 [self.webView.mainFrame loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
于 2013-08-28T18:33:06.507 回答
0

你是为 iOS 6 写的吗?

如果是,则不推荐使用 viewDidUnload。用 viewDidDisappear 试试。

- (void)viewDidDisappear {
    [_webview stopLoading];
    _webview.delegate = nil;
    [self setWebview:nil];
}
于 2013-07-27T09:17:40.960 回答
0

好的,我找到了解决问题的方法。

最后我让它工作了:

-(void)viewWillDisappear:(BOOL)animated
{
    [_webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
}
于 2014-05-12T13:04:54.433 回答