我正在我的customtableviewcell控件中实现滑动手势,因此我可以实现touchesBegan事件。 我能够实现滑动,但不幸的是,因为touchesBegan在customcell中处理,我没有在tablecontroller上获得didSelectRowAtIndexPath消息。如果禁用了touchesBegan方法,则可以正常工作。
应如何处理?我希望触摸事件在处理touchesBegan后冒泡响应者链。我怎么能这样做?
感谢。
答案 0 :(得分:13)
我确信你可以看到这种情况正在发生,因为你正在重写先前在超类上定义的方法。这样做意味着事件没有被调用。
你尝试过调用[super touchesBegan]吗?那样处理所有上游的东西。你可以覆盖滑动手势。或其他选项是在您自己的触摸方法中检测到触摸时调用代理。
类似的东西(你可能也会有其他触摸事件的实现)
-(void) touchesBegan
{
//logic to detect tap only.
[tablecell.delegate didSelectRowAtIndexPath:(some way to determin touched row)]
}