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

Mat*_*att 1 uitableview uiview xamarin.ios ios

我在UIView上使用UITableView时有一些问题,它有一个UITapGestureRecognizer.如果我单击UITableViewCell,背景不会更改为所选的背景(因为没有接收到触摸).

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

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

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

由于我单击一个单元格,它无法正常工作,"touch.View.GetType()"返回"UIView"并被忽略.

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

如果我从父视图中删除"UITapGestureRecognizer",则表视图正常.

谢谢马特

小智 5

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