iOS行选择未被调用

时间:2014-09-14 00:30:46

标签: c# ios xamarin.ios xamarin

我在我的行选择方法中添加了一个print语句,它永远不会被调用:

    public override void RowSelected (UITableView tableView, NSIndexPath indexPath)
    {
        Console.WriteLine ("Row selected");
    }

我的细胞有UIImageView,覆盖整个细胞作为背景图像。这会导致行无法识别触摸吗?

2 个答案:

答案 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。