我正在我的 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/