【问题标题】:UIPinchGesture Not working on MPMoviePlayerController?UIPinchGesture 在 MPMoviePlayerController 上不起作用?
【发布时间】:2012-10-08 13:00:58
【问题描述】:

我在视图中添加了捏合识别器(我在其中添加了 MPMoviePlayerController)并创建了一个处理捏合的函数(我为该函数设置了 IBAction),但它没有进入该函数。可能是什么问题?

【问题讨论】:

    标签: iphone objective-c ios ios6 xib


    【解决方案1】:

    MPMoviePlayerController 有自己实现的手势识别器,可在 MPSwipableView 上工作。这些手势已被修改以执行 MPMoviePlayer 使用的特定默认操作。

    • 在 MPMoviePlayerController 上定义自定义手势。您必须使用单独的空视图,将其添加到您的 MPMoviePlayerController。

    • 在其上添加手势识别器。现在您可以在空视图上接收手势。据此,您可以调整 MPMoviePlayer 的 View 框架。

    【讨论】:

      【解决方案2】:

      添加代理到捏识别器,MPMoviePlayerController 并启用 MPMoviePlayerController 的用户交互,

      pinchreg.delegate=self;
      player.delegate=self;
      player.userinteractionenabled=yes;
      

      【讨论】:

        【解决方案3】:

        umirza47 答案的替代方法是停用附加到MPMoviePlayerController 视图的pinchgesture 识别器。不过,这取决于您是否需要出于自己的目的在电影播放器​​上具有放大/缩小功能:我相信捏手势识别器在电影播放器​​上的用途:

        for (UIGestureRecognizer *gesture in ((UIView *)videoVC.moviePlayer.view.subviews[0]).gestureRecognizers) {
        
             if ([gesture isKindOfClass:[UIPinchGestureRecognizer class]]) {
        
                        gesture.enabled = NO;
             }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-09-18
          相关资源
          最近更新 更多