UIPinchGesture 在 MPMoviePlayerController 上不起作用?

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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;
     

【讨论】:

以上是关于UIPinchGesture 在 MPMoviePlayerController 上不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

找捏手势的点

放大二维 UICollectionView

在同一个 UIImageView 上处理/检测 UIPanGestureRecognisor 和 UISwipeGestureRecognisor

iOS - 设置平移的最小/最大限制

将新缩放的图像保存到照片库

使用平移、旋转和捏合手势编辑后如何保存 UIImage