iOS 6でも同様の問題に直面しました。この背後にある理由は、iOS6バージョン以外のバージョンでYouTubeビデオを再生すると、viewWillDisappearメソッドが呼び出されないためです。ただし、iOS6では、このメソッドはYouTubeビデオが再生されるたびに呼び出されます。OSレベルのバグかもしれませんが、よくわかりません。
ただし、修正しました。手順は以下のとおりです。
フルスクリーンのエントリと終了の通知を追加し、ブール値のプロパティを使用して、それに応じて更新します。
// Notification when the player moves to full screen
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(youTubeVideofullScreen:) name:@"UIMoviePlayerControllerDidEnterFullscreenNotification" object:nil];
// Notification when the player exit from full screen.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(youTubeVideoExit:) name:@"UIMoviePlayerControllerDidExitFullscreenNotification" object:nil];
- (void)youTubeVideofullScreen:(id)sender {
//Update flag.
isFullscreen = TRUE;
}
- (void)youTubeVideoExit:(id)sender {
//Update flag.
isFullscreen = FALSE;
}
- (void)viewWillDisappear:(BOOL)animated {
//Now you can use that flag and avoid the code execution which is interrupting the video
if(!isFullscreen) {
[super viewWillDisappear:animated];
}
}
お役に立てば幸いです。