UITableViewCell子视图不接收触摸

时间:2013-07-03 20:08:41

标签: ios uitableview uigesturerecognizer

我的可重复使用的单元格包含一个视图,其中包含UIImageViewUILabel

我还有另一个以编程方式添加的子视图,其中0,0,320,63的框架名为mainView,包含在-160,0,160,63中。

我向单元格添加了一个UISwipeGestureRecognizer,因此当您滑动时,我将mainView的框架更改为leftView。它运作得很好。

我遇到了一个问题,在mainView中,我有一些160,0,320,63 leftView设置为UIImageView,上面有一个手势识别器。但是这个手势识别器从未被触发,它仍然调用userInteractionEnabled方法。

我看了this SO answer,但这对我没有帮助。

有人会帮助我吗?

谢谢!

编辑:这是我的手势识别器实例化

YES

3 个答案:

答案 0 :(得分:2)

如果没有看到gestureRecognizer的初始化,可能会出现许多问题。然而,有两件事需要考虑:

1。)您是否设置了cancelsTouchesInView标志?通常这会搞乱你的tableView触摸,但你应该调查它。

2.。)您是否验证了故事板内的子视图布局?有什么东西阻挡了你的imageView的一部分吗?

- 你真的分配了gestureRecognizer吗?

答案 1 :(得分:1)

您是否尝试将表格单元格设置为否?在这种情况下,您的滑动手势应该仍然有效,但不应该使用table deligate方法进行单元格选择。

答案 2 :(得分:1)

我自己想出来了。

问题是因为leftView框架在mainView框架之外(x中为-160)。

为了解决我的问题,我在故事板中更改了mainView,因此它也从-160开始。而不是在x中将-1 leftView添加到-160,我将其添加到0。

非常感谢!