kri*_*ris 6 iphone uitableview uigesturerecognizer ios
我用双击UITapGestureRecognizer设置了一个UITableView.但是,用户双击单元格的尝试只是两次启动didSelectRowAtIndexPath.这两个应该一起工作吗?
(我知道我可以用一个单击手势识别器来代替didSelectRowAtIndexPath的内置行为,但是这里的问题是:单元格还有一个按钮,当我添加单击时我不能按下手势识别器.此外,我已经看到用户在didSelectRowAtIndexPath中构建双击功能的例子,但这不是一个太多的黑客?)
use*_*951 11
有关更多信息Kris'回答:
在我的情况下,我在向UIImageView自定义上添加2个轻击手势时遇到了问题UITableViewCell.发生了什么事情是didSelectRowAtIndexPath:当您点击/双击时发生的UIImageView.当我只有一个轻击手势时,didSelectRowAtIndexPath:没有被调用(对我来说,这是正确的行为.
为了防止didSelectRowAtIndexPath:在使用两个轻击手势(单击/双击)时调用,我将此代码添加到第一个轻击手势(单个手势):
tapGesture.cancelsTouchesInView = YES;
tapGesture.delaysTouchesBegan = YES;
Run Code Online (Sandbox Code Playgroud)
在此更改后,UIImageView(自定义单元格顶部)上的tap/double 未触发didSelectRowAtIndexPath:
看起来我可以使用手势识别器的delaysTouchesBegan和cancelsTouchesInView属性很好地使用didSelectRowAtIndexPath和双击手势识别器.
@MSgambel描述的另一个选项似乎同样有效.
即使单元格中有按钮,您也可以使用单击手势识别器来代替。didSelectRowAtIndexPath您只需检查触摸位置是否在 的UIButton视图内即可处理这两种情况。希望有帮助!
| 归档时间: |
|
| 查看次数: |
7532 次 |
| 最近记录: |