本文整理汇总了C#中UITableView.IndexPathForRowAtPoint方法的典型用法代码示例。如果您正苦于以下问题:C# UITableView.IndexPathForRowAtPoint方法的具体用法?C# UITableView.IndexPathForRowAtPoint怎么用?C# UITableView.IndexPathForRowAtPoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UITableView
的用法示例。
在下文中一共展示了UITableView.IndexPathForRowAtPoint方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnRecognizing
private static void OnRecognizing(LongPressGestureRecognizer recognizer, UITableView tableView, ViewCell cell)
{
NSIndexPath indexPath = tableView.IndexPathForRowAtPoint(recognizer.LocationInView(tableView));
switch (recognizer.State)
{
case UIGestureRecognizerState.Began:
if (indexPath != null)
{
// Remember the source row
recognizer.sourceIndexPath = indexPath;
recognizer.destinationIndexPath = indexPath;
cell.View.BackgroundColor = Color.Gray;
}
break;
case UIGestureRecognizerState.Changed:
if (recognizer.destinationIndexPath != null && indexPath != null && recognizer.destinationIndexPath != indexPath)
{
// Dragged to a new row location, so show it to the user with animation
tableView.MoveRow(recognizer.destinationIndexPath, indexPath);
recognizer.destinationIndexPath = indexPath;
}
break;
case UIGestureRecognizerState.Cancelled:
case UIGestureRecognizerState.Failed:
recognizer.sourceIndexPath = null;
cell.View.BackgroundColor = Color.Transparent;
break;
case UIGestureRecognizerState.Recognized:
// Move the data source finally
if (recognizer.sourceIndexPath != null && recognizer.destinationIndexPath != null && recognizer.sourceIndexPath != recognizer.destinationIndexPath)
{
// Reset the move because otherwise the underneath control will get out of sync with
// the Xamarin.Forms element. The next line will drive the real change from ItemsSource
tableView.MoveRow(recognizer.destinationIndexPath, recognizer.sourceIndexPath);
tableView.Source.MoveRow(tableView, recognizer.sourceIndexPath, recognizer.destinationIndexPath);
}
recognizer.sourceIndexPath = null;
recognizer.destinationIndexPath = null;
cell.View.BackgroundColor = Color.Transparent;
break;
}
}