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 上不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
在同一个 UIImageView 上处理/检测 UIPanGestureRecognisor 和 UISwipeGestureRecognisor