我正在我的 customtableviewcell 控件中实现滑动手势,所以我想实现 touchesBegan 事件。
我能够实现滑动,但不幸的是,因为 touchesBegan 在 customcell 中得到处理,我没有在 tablecontroller 上收到 didSelectRowAtIndexPath 消息。如果 touchesBegan 方法被禁用,它就可以工作。

这应该如何处理?我希望在处理 touchesBegan 之后,触摸事件在响应者链中冒泡。我怎样才能做到这一点?

谢谢。

最佳答案

我确定您可以看到这种情况正在发生,因为您正在覆盖先前在父类(super class)上定义的方法。这样做意味着没有调用事件。

你试过调用 [super touchesBegan] 吗?这样所有上游的东西都被处理了。您可以覆盖滑动手势。

或者另一种选择是在您自己的触摸方法中检测到触摸时调用委托(delegate)。

类似的东西(你可能也有其他触摸事件的实现)

-(void) touchesBegan
{
 //logic to detect tap only.
 [tablecell.delegate didSelectRowAtIndexPath:(some way to determin touched row)]
}

关于iphone - 在 UITableViewCell 中处理 touchesBegan 禁用 didSelectRowAtIndexPath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/932151/

10-10 02:19