2017-01-17 2 views
1

Я работаю над xamarin.ios. Я создал UITableView и привязал в нем некоторые данные. Теперь я хочу использовать LongPressGesture в UITableViewCell таблицы. Я открываю всплывающее окно на LongPressGesture и хочу показать данные, связанные с выбранной строкой. Но я не получаю, как получить индексный путь выбранной строки в LongPress. Пожалуйста, уточните, как я могу получить значение indexpath для жестов longpress?Как получить индексный указатель выбранной строки в longgesture нажмите в UITableView в xamarin.ios

ответ

1

Добавить UILongPressGestureRecognizer в TableView затем использовать этот код в качестве действия.

void HandleLongPress (UILongPressGestureRecognizer longPressGesture) 
{ 
    var point = longPressGesture.LocationInView (yourTableView); 

    var indexPath = yourTableView.IndexPathForRowAtPoint (point); 

    if (indexPath == null) 
    { 
     System.Console.WriteLine ("Long press on table view, not row."); 
    } 
    else if (longPressGesture.State == UIGestureRecognizerState.Began) 
    { 
     System.Console.WriteLine ($"Long press on row, at {indexPath.Row}"); 
    } 
} 

Это должно сработать.

+0

Спасибо, apindeda, Он работает. – anand

0

Добавить следующий метод в .xaml.cs файл, и вы будете получать indexPath из выбранной строки на длинном выборе пресс

общественного переопределения недействительным RowSelected (UITableView Tableview, NSIndexPath indexPath) { UIAlertController okAlertController = UIAlertController.Create («Row Selected», tableItems [indexPath.Row], UIAlertControllerStyle.Alert); okAlertController.AddAction (UIAlertAction.Create («ОК», UIAlertActionStyle.Default, null)); ...

tableView.DeselectRow (indexPath, true); 

}