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 手势,然后在完成后读取它们。在我的情况下,当有人单击页面视图控制器然后它淡出回到页面视图控制器时,我在屏幕上显示一个工具栏。为了允许在工具栏上点击,我做了以下事情:

// 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 回答