0

私は iPad 用の iOS アプリを開発しており、PageView テンプレートを使用しています。動画ファイルを再生するボタンをいくつか追加しました。これまでのところすべてが機能していますが、問題は、両方のビューでタッチ ジェスチャが呼び出されることです。私のビューアーキテクチャは次のようになります

MPMovieViewcontroller を作成し、フルスクリーン モードを設定して、ビューをページビューに追加します。

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerFinished:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerFinished:) name:MPMoviePlayerDidExitFullscreenNotification object:nil];
    mediaView = [[MPMoviePlayerViewController alloc] initWithContentURL:mediaURL];
    mediaView.moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
    mediaView.moviePlayer.fullscreen = YES;
    mediaView.moviePlayer.view.exclusiveTouch = YES;
    [mediaView shouldAutorotateToInterfaceOrientation:YES];
    [mediaView setWantsFullScreenLayout:YES];
    [mediaView.moviePlayer prepareToPlay];
    [mediaView.moviePlayer play];
    [self.view addSubview:mediaView.view];

問題は、音量スライダーを制御しようとすると、そのジェスチャーによって MPMovieViewController のスーパービューのページがめくられることです。どうすればこれを回避できますか?

4

1 に答える 1

0

私は同じ問題に遭遇し、メイン ビューから UIPageViewController ジェスチャを削除し、完了したら再追加しました。私の場合、誰かがページビューコントローラーを1回タップすると、画面にツールバーが表示され、ページビューコントローラーに戻ってフェードアウトします。ツールバーのタップを許可するために、次のことを行いました。

// Remove the page controller gestures from the view
for (UIGestureRecognizer *gesture in self.gestureRecognizers) {
    [self.view removeGestureRecognizer:gesture];
}

self は拡張された UIPageViewController であり、画面に何かを表示するメソッドでこれを行っています。あなたの場合は少し異なりますが、効果的にはこれでうまくいくはずです!

于 2012-08-07T17:26:39.407 に答える