我在我的行选择方法中添加了一个print语句,它永远不会被调用:
public override void RowSelected (UITableView tableView, NSIndexPath indexPath)
{
Console.WriteLine ("Row selected");
}
我的细胞有UIImageView
,覆盖整个细胞作为背景图像。这会导致行无法识别触摸吗?
答案 0 :(得分:1)
不得不打电话:
MyTableView.AllowsSelection = true;
默认情况下,它必须设置为false
。
答案 1 :(得分:1)
添加最新版本:Visual Studio / Xamarin iOS / C#
1)将IUITableViewDelegate添加到ViewController.cs
2)在ViewDidLoad上:
public override void ViewDidLoad()
{
base.ViewDidLoad();
this.yourTableview.Delegate = this;
this.yourTableview.AllowsSelection = true;
}
3)实现IUITableViewDelegate方法。
[Export("tableView:didSelectRowAtIndexPath:")]
public virtual void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
Console.WriteLine("Row Selected");
}
请注意,如果未添加[导出(" tableView:didSelectRowAtIndexPath:")],则不会调用RowSelected。