使用UITapGestureRecognizer的UIView上的UITableView(单元格选择不起作用)

时间:2013-07-16 18:13:10

标签: ios uiview uitableview xamarin.ios

在UIView上使用具有UITapGestureRecognizer的UITableView时遇到一些问题。 如果我点击UITableViewCell,背景不会改变为所选的背景(因为没有接收到触摸)。

我假设如果你将一个子视图添加到父视图,那么子视图将能够处理触摸并且一切仍然有效。但是,这不是cas。如果我点击UITableviewCell,则此父视图将处理该点击,并且未选择该单元格。

我已经尝试将“UITapGestureRecognizer”子类化为忽略来自UITableViewCell的触摸事件: (monotouch代码)

public override bool ShouldReceiveTouch (UIGestureRecognizer recognizer, UITouch touch)
        {
            if (touch.View.GetType () == typeof(UITableViewCell))
                return false;
            return true;
        }

由于我单击一个单元格,它无效,“touch.View.GetType()”返回“UIView”并被忽略。

任何想法是如何让我的tableview使用UITapGestureRecognizer使用UIView?

如果我从父视图中删除“UITapGestureRecognizer”,则表视图正常。

谢谢马特

1 个答案:

答案 0 :(得分:5)

创建UITapGestureRecogizer时,将setCancelsTouchesInView属性设置为NO。这应该允许您的UITableViewCell接收触摸。