2012-04-12 79 views
0

用我目前的桌面视图控制器,我想实现一个触摸并保持功能,非常类似于点击轮iPod的On-The-Go排队功能。检测触摸并按住UITableViewCell,我的选择是什么?

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

  1. 如果检测到长按,我怎么可以防止所谓的 didSelectRowAtIndexPath方法(或者我 完全避免使用它并实现点击手势识别器在 我的UITableViewCell子类?)
  2. 我怎么会去动画细胞一旦长按已 检测到类似iPod风格(其中突出显示单元 闪烁/高光的透明度变上下几次)。

希望能得到一些指导。

回答

1

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

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

如果(gestureRecognizer.state == UIGestureRecognizerStateBegan)... 如果(gestureRecognizer.state == UIGestureRecognizerStateEnded)...

+0

有没有一种方法我可以禁用从开始到端滚动? – sooper 2012-04-12 22:13:38

+0

我相信这是默认行为。试试吧,让我们知道!如果不是,则实现手势识别器委托方法'shouldRecognizeSimultaneouslyWithGestureRecognizer:'返回NO,它将阻止滚动视图的手势识别器。 – samson 2012-04-14 20:32:58