使用UITableViewCell检测触摸并按住,我有哪些选择?

时间:2012-04-12 21:56:01

标签: ios cocoa-touch

使用我当前的表视图控制器,我想实现一个触控和保持功能,非常类似于点击式iPod的On-The-Go排队功能的工作方式。

我一直在阅读一些帖子,并看到了使用UILongPressGestureRecognizer的建议。虽然我能做到这一点,但它确实为我带来了更多问题:

  1. 如果检测到长按,我该如何防止 被调用的didSelectRowAtIndexPath方法(或者我 完全避免使用它并实现Tap手势识别器 我的UITableViewCell子类?)
  2. 一旦长按,我将如何制作动画细胞 检测到类似于iPod风格(突出显示的单元格 闪烁/突出显示的不透明度上下几次。)
  3. 非常感谢一些指导。

1 个答案:

答案 0 :(得分:1)

如果您使用长按识别器并且它会触发,则didSelectRowAtIndexPath将不会触发。

您可以在检测到“开始”状态后检测手势识别器的状态并为其设置动画,并在检测到“结束”状态时结束动画。

if(gestureRecognizer.state == UIGestureRecognizerStateBegan)... if(gestureRecognizer.state == UIGestureRecognizerStateEnded)...