Я работаю над xamarin.ios. Я создал UITableView и привязал в нем некоторые данные. Теперь я хочу использовать LongPressGesture в UITableViewCell таблицы. Я открываю всплывающее окно на LongPressGesture и хочу показать данные, связанные с выбранной строкой. Но я не получаю, как получить индексный путь выбранной строки в LongPress. Пожалуйста, уточните, как я могу получить значение indexpath для жестов longpress?Как получить индексный указатель выбранной строки в longgesture нажмите в UITableView в xamarin.ios
Q
Как получить индексный указатель выбранной строки в longgesture нажмите в UITableView в xamarin.ios
1
A
ответ
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
Добавить следующий метод в .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);
}
Спасибо, apindeda, Он работает. – anand