Я создал UITableView и добавил его в контейнер UIScrollView. В верхней части страницы у меня отображается карта, и я хочу запускать поведение ScrollToRow каждый раз, когда пользователь нажимает на маркер с карты. Этот метод вызывает:
private void OnMarkerClick(MapView mapView, Marker marker)
{
var markerLocation = marker.Title;
if (!IsNullOrEmpty(markerLocation))
{
var index = ViewModel.Items.IndexOf(ViewModel.Items.FirstOrDefault(x => x.IsSelected));
var indexPath = NSIndexPath.FromRowSection(index, 0);
DispatchQueue.GetGlobalQueue(DispatchQueuePriority.High).DispatchAsync(() =>
{
DispatchQueue.MainQueue.DispatchAsync(() =>
{
_tableView.ReloadData();
_tableView.ScrollToRow(indexPath, UITableViewScrollPosition.Middle, true);
_tableView.LayoutIfNeeded();
});
});
}
}
Индекс выбранного элемента получен правильно, только режим прокрутки не работает. Есть идеи, почему этого не происходит?