私の全体的な目標は、メイン ビューにボタンを配置することです。このボタンを押すとビデオが再生され、ビデオの再生が終了すると 2 番目のビューになります。クイック ビデオは、2 つの VC 間のトランジションのようなものです。私の質問は、「映画を再生」コードをどこに置くべきかということです。私が試したシナリオと満足できない結果は次のとおりです。
メイン VC のボタンはムービーを再生し、2 番目の VC を開きます - ムービーは再生されますが、2 番目のビュー コントローラーは開かず、メイン VC に戻ります。
メイン VC のボタンがムービーを再生し、moviePlayBackDidFinish の NSNotification が 2 番目の VC を開きます - 上記と同じ結果です。
メイン VC のボタンは 2 番目の VC に切り替わり、ムービー コードは 2 番目の VC の viewDidLoad にあります (viewWillLoad も同じ結果) - VC は切り替わりますが、ムービーは再生されません
メイン VC のボタンは 2 番目の VC に切り替わり、ムービー コードは 2 番目の VC の viewDidAppear にあります。
探しているトランジション効果を得るためにコードをセットアップする最良の方法は何ですか? 映画を再生するためだけに、2 つの間に 3 つ目のビュー コントローラーを作成する必要がありますか? 映画を再生するために使用しているコードは次のとおりです。
//Sets up the movie file to play
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"TransitionMovie" ofType:@"mov"]];
_moviePlayer = [[MPMoviePlayerViewController alloc]
initWithContentURL:url];
//Creates notification observer so it knows when the movie is done playing
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:_moviePlayer];
//Plays the movie
[self presentMoviePlayerViewControllerAnimated:_moviePlayer];