【问题标题】:UIgestureRecognizer in a view inside a UIScrollViewUIScrollView 内的视图中的 UIgestureRecognizer
【发布时间】:2011-03-01 15:48:33
【问题描述】:

有没有人设法让 UIGestureRecognizer 在作为 UIScrollView 子视图的 UIView 上工作?我的回调似乎永远不会被调用。

作为一个简单的例子,我想要一个分页滚动视图,并在第三页上用 UITapGestureRecognizer 监听点击。但是我无法让它工作。

我会这样做:

self.scrollView = [[[UIScrollView alloc] initWithFrame:self.view.frame] autorelease];
self.scrollView.pagingEnabled = YES;
self.scrollView.contentSize = CGSizeMake(self.section1ScrollView.frame.size.width * 3, self.scrollView.frame.size.height); //3 pages

UIImageView *p0 = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"page0.png"]] autorelease];
[self.scrollView insertSubview:p0 atIndex:self.scrollView.subviews.count];

UIImageView *p1 = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"page1.png"]] autorelease];
//code to move it to the next page
[self.scrollView insertSubview:p1 atIndex:self.scrollView.subviews.count];

UIImageView *p2 = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"page2.png"]] autorelease];
//code to move it to the next page
[self.scrollView insertSubview:p2 atIndex:self.scrollView.subviews.count];

UITapGestureRecognizer *p2TapRegocnizer = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(p2Tapped:)] autorelease];
//p2TapRegocnizer.delegate = self;
[p2 addGestureRecognizer:p2TapRegocnizer];

【问题讨论】:

  • 我正在尝试相同的场景。但是,我的应用程序不仅没有被调用,还崩溃了。你设法让它工作了吗?
  • 不,我相信我放弃了这些测试。如果我回复他们,我会告诉你的。
  • 我有同样的事情,我的方法被调用了,但是我在我的所有图像视图中添加了相同的手势识别器实例,即在 p0、p1 和 p2 中。所以现在我不知道什么时候调用 p2Tapped 它是针对哪个索引
  • 我遇到了类似的问题,我的 UIGestureRecognizers 仅针对偏移量为 0,0 的初始滚动视图 contentOffset 中的子视图触发,但是一旦我滚动到初始位之外,它们就不会触发(并且在进行 hitTest:withEvent 时触摸自己不会解析到最深的视图:)

标签: iphone cocoa-touch uiscrollview gesture-recognition uigesturerecognizer


【解决方案1】:

UIImageView 默认 userInteractionEnabled 设置为 NO。我会尝试将其更改为 YES。

【讨论】:

    【解决方案2】:
    [webView setUserInteractionEnabled:YES]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-25
      • 1970-01-01
      • 1970-01-01
      • 2018-01-21
      • 2018-11-13
      相关资源
      最近更新 更多