クラス A は、MPMoviePlayerController を使用してムービーをロードします。prepareToPlay を呼び出し、loadState = 3 になるまでムービーを表示したまま待機します。ビデオを再生し、最後まで再生してからもう一度再生すると、すべて正常に動作します。ただし、「完了」でビデオを終了すると、MPMovieFinishReasonUserExited 終了理由が表示され、ビデオをもう一度再生すると、コントロールをタップできますが、ビデオ画面はタップできません。コントロールが消えると、ビューが応答しないため、コントロールを元に戻す方法はありません。これは iOS 5.1 でのみ発生し、iOS 4.3 では発生しません (シミュレータと実際のデバイスの両方)。何か案は?
編集:
一つ分かった。MPMoviePlayerController のビューのサブビューでいくつかのデバッグを行ったところ、最初の再生時に次のことがわかりました。
<MPSwipableView: 0x9b671f0; frame = (0 0; 320 480); autoresize = W+H; layer = <CALayer: 0x9b67290>>
2回目にプレイした後は、次のようになります。
<MPSwipableView: 0x9b671f0; frame = (0 0; 320 480); hidden = YES; autoresize = W+H; layer = <CALayer: 0x9b67290>>
タッチを登録するビューを非表示にするのはなぜですか?? これはバグですか?
編集2:
残念ながら、上記の観察は無関係のようです。非表示を手動で NO に設定しましたが、タップに反応しません。ムービーをリロードすると問題ありません。