Ive добавил оператор печати в мой выбранный метод, и он никогда не вызывается:
public override void RowSelected (UITableView tableView, NSIndexPath indexPath)
{
Console.WriteLine ("Row selected");
}
Мои ячейки имеют UIImageView
который охватывает всю ячейку, действующую как фоновое изображение. Может ли это заставлять строку не распознавать прикосновение?
Пришлось позвонить:
MyTableView.AllowsSelection = true;
По умолчанию оно должно быть установлено в false
.
Добавление последних: Visual Studio/Xamarin iOS/С#
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");
}
Обратите внимание, что RowSelected не будет вызываться, если [Export ("tableView: didSelectRowAtIndexPath:")] не добавлен.