首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相同视图的UITapGestureRecognizer和touchesBegan

相同视图的UITapGestureRecognizer和touchesBegan
EN

Stack Overflow用户
提问于 2014-12-01 06:15:53
回答 1查看 2.2K关注 0票数 2

我想让UITapGestureRecognizer在视图中,touchesBegan在它的子视图中,但是问题是当UITapGestureRecognizer被识别时,touchesBegan没有被调用。

这样做可以吗?还是我应该采取另一种方法?

编辑:解决。设置cancelsTouchesInView属性UITapGestureRecognizer对我起了作用。默认情况下,它是假的,因此不会调用touchesBegan

EN

回答 1

Stack Overflow用户

发布于 2014-12-01 06:27:37

请找出您的错误所在,这是关于如何在您的类中实现手势识别器的一步一步的指南:

  1. 使您的类符合UIGestureRecognizerDelegate协议。
  2. 实例化手势识别器。例如,要实例化一个UITapGestureRecognizer,我们将执行以下操作: UITapGestureRecognizer *tapGestureRecognizer = [UITapGestureRecognizer alloc initWithTarget:self action:@selector(handleTapFrom:)]; 在这里,action是处理手势的选择器。在这里,我们的选择器handleTapFrom看起来如下所示:

  • (void) handleTapFrom:(UITapGestureRecognizer *)识别器{//代码来处理手势} 选择器的参数是手势识别器。我们可以使用这个手势识别器来访问它的属性,例如,我们可以找到手势识别器的状态,比如UIGestureRecognizerStateBeganUIGestureRecognizerStateEnded等等。

  1. 在实例化手势识别器上设置所需的属性。例如,对于一个UITapGestureRecognizer,我们可以设置属性numberOfTapsRequirednumberOfTouchesRequired
  2. 将手势识别器添加到要检测手势的视图中。在我们的示例代码中(我将共享该代码供您参考),我们将使用以下代码将手势识别器添加到imageView中: self.imageView地址-识别器:tapGestureRecognizer;
  3. 将手势识别器添加到视图后,为手势识别器设置委托,即将处理所有手势识别器内容的类。在我们的示例代码中,如下所示: tapGestureRecognizer.delegate =自我; 注意:在将手势识别器添加到视图后,分配委托。否则,将不会调用action方法。
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27222701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档