Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIScrollView内部的UITableView不会触发ScrollToRow_Ios_Objective C_Swift_Xamarin.ios_Mvvmcross - Fatal编程技术网

Ios UIScrollView内部的UITableView不会触发ScrollToRow

Ios UIScrollView内部的UITableView不会触发ScrollToRow,ios,objective-c,swift,xamarin.ios,mvvmcross,Ios,Objective C,Swift,Xamarin.ios,Mvvmcross,我创建了一个UITableView并将其添加到UIScrollView容器中。 在页面顶部,我显示了一个地图,我想在用户每次单击地图上的标记时触发ScrollToRow行为。 调用此函数的方法是: private void OnMarkerClick(MapView mapView, Marker marker) { var markerLocation = marker.Title; if (!IsNullOrEmpty(mar

我创建了一个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();
                    });
                });
            }
        }
已正确获取所选项目的索引,只有滚动行为不起作用。
你知道为什么不会发生这种情况吗?

我想你不需要重新加载数据和布局需要不要将tableview放在滚动视图中,并删除重新加载的数据和布局需要。