【发布时间】:2013-07-16 18:13:10
【问题描述】:
在具有 UITapGestureRecognizer 的 UIView 上使用 UITableView 时遇到一些问题。 如果我单击 UITableViewCell,则背景不会更改为所选的(因为没有收到触摸)。
我的假设是,如果您将子视图添加到父视图,子视图将能够处理触摸并且一切仍然有效。然而,事实并非如此。如果我点击 UITableviewCell,点击由这个父视图处理,并且单元格未被选中。
我已经尝试子类化“UITapGestureRecognizer”以忽略来自 UITableViewCell 的触摸事件: (单点触控代码)
public override bool ShouldReceiveTouch (UIGestureRecognizer recognizer, UITouch touch)
{
if (touch.View.GetType () == typeof(UITableViewCell))
return false;
return true;
}
因为我点击了一个单元格,所以它不起作用,“touch.View.GetType ()”返回“UIView”并且它被忽略了。
知道如何使用 UITapGestureRecognizer 使我的 tableview 在 UIView 上工作吗?
如果我从父视图中删除“UITapGestureRecognizer”,tableview 会正常运行。
谢谢马特
【问题讨论】:
-
您想在点击时更改所选单元格的背景更改..?
-
是的,但我知道如何更改选定单元格的背景。问题是,当我使用 UITapGestureRecognizer 在视图上添加表时,单元格不会被“选中”,因为点击是由父视图处理的
标签: ios uiview uitableview xamarin.ios