2

我有一个 UIScrollView 我需要能够滚动。同时,我需要检测滚动视图上的点击。我怎样才能做到这一点?

我已经尝试将 TapGestureRecognizer 添加到视图中,但没有任何运气。还尝试了几种使用 UIScrollViewDelegate 方法的方法。

UIScrollView 中有 MPMoviePlayerController 视图。

我使用以下代码添加了 reconigzer

UITapGestureRecognizer *singleTap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)] autorelease];
singleTap.enabled = YES;
singleTap.cancelsTouchesInView = NO;

[scrollView addGestureRecognizer:singleTap];

谢谢。

4

3 回答 3

1

尝试在滚动视图中放置一个视图并将手势识别器和另一个视图添加到其中。

于 2012-03-04T19:29:43.763 回答
1

您可以在 UIScrollView 中捕获任何类型的手势。确保您还处理了一些默认属性,例如将 cancelsTouchesInView 属性设置为 false,默认情况下为 true。还要为您的子视图提供一些标签号,以在选择器中进行区分。& 还使他们的用户交互成为真实。

例如。我在我的滚动视图中添加了一个图像视图,我也在启用它的用户交互,我也在更新它的内容大小,

   {
           //adding images to the scroll view   
             for i in 0 ..< 4 {
          let image = UIImage(named: "img\(i).png")
          let imageView  = UIImageView(image: image)
          imageView.center = CGPoint(x: CGFloat(i) * 60 + 60/2, y: 60/2)
          imageView.tag = i
          imageView.isUserInteractionEnabled = true
          addSubview(imageView)

          let tap = UITapGestureRecognizer(target: self, action: #selector(didTapImage(_:)))
          imageView.addGestureRecognizer(tap)
        }

        contentSize = CGSize(width: 10 * 60, height:  60 + 2*10)  

}

于 2017-05-01T18:21:01.913 回答
0

解决方案:将 MPMoviePlayerController 的视图添加到 UIScrollView 时,需要禁用 MpMoviePlayerController 视图上的用户交互,以便 UIScrollView 能够捕获手势识别器。此解决方案仅在您不希望使用 mpmovieplayercontrollers 默认菜单等进行交互时才有效。

于 2012-03-07T13:52:29.930 回答