1

ムービーを再生するように MPMoviePlayerController をセットアップしました。いくつかのボタンを表示するために、ムービーのタッチを検出したいと思います。次のコードを使用しました。


 // The movie's window is the one that is active
        UIWindow* moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];
        // Now we create an invisible control with the same size as the window
        UIControl* overlay = [[[UIControl alloc] initWithFrame:moviePlayerWindow.frame]autorelease];

    // We want to get notified whenever the overlay control is touched
    [overlay addTarget:self action:@selector(movieWindowTouched:) forControlEvents:UIControlEventTouchDown];

    // Add the overlay to the window's subviews
    [moviePlayerWindow addSubview:overlay];

しかし、再生コントローラーが表示されないのは、プレーヤー ウィンドウがタッチされないためだと思います。プレーヤー コントローラーを保持したまま、タッチを検出するにはどうすればよいですか? ありがとう

4

1 に答える 1

1

独自のUIViewのサブクラスを作成し、それをオーバーレイとして追加する必要があります。

この方法-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)eventでは、画面に触れたときにやりたいことをすべて行うことができます。

私は自分のプロジェクトでこれを行いました。Interface BuilderでVideoOverlay(UIViewのサブクラス)のデザインを実装しました。ユーザーが操作する必要のある他の要素を追加する必要がある場合は、はるかに簡単です。

于 2010-03-22T12:29:16.827 に答える