public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { if (!CachedCells.TryGetValue(indexPath, out UITableViewCell cell)) { var item = GetItemAt(indexPath); cell = GetOrCreateCellFor(tableView, indexPath, item); var bindable = cell as IMvxBindable; if (bindable != null) { var bindingContext = bindable.BindingContext as MvxTaskBasedBindingContext; if (bindingContext != null && tableView.RowHeight == UITableView.AutomaticDimension) { bindingContext.RunSynchronously = true; } InvokeOnMainThread(() => bindable.DataContext = GetItemAt(indexPath)); } } return(cell); }
public void ClearCache() { CachedHeight.Clear(); CachedCells.Clear(); }