当表的dataSource动态更改时,在Xamarin iOS中更新UITableView

本文关键字:Xamarin iOS UITableView 更新 dataSource 动态 | 更新日期: 2023-09-27 18:21:18

我有一个UITableView,并使用"列表"设置了表的数据源。我最初知道列表的大小,并将表的单元格数设置为与列表长度相同。我在后台获取表的数据,这意味着即使在显示表时,列表数据也会动态变化。当用户快速滑动时,表视图会显示一些仍在提取的数据的空单元格。

问题:当我到达表视图的末尾时,当表视图仍显示空单元格,并且我试图向上滚动时,单元格将从底部重新绘制,显示数据,这意味着数据实际上是从表视图的底部"刷新"的。

我尝试过的:我尝试重新加载表视图,在从后端获得数据后立即重新加载单元格,但这个问题仍然存在。我尝试使用InvokeOnMainThread重新加载表视图,但这个问题仍然存在。

我认为正在发生的事情:当表视图显示空单元格时,数据提取在后台完成,当我再次向上滚动时,单元格将被"重新绘制"以显示数据。我在表视图中使用可重复使用的单元格。

有没有办法在我得到数据并更新单元格后立即重新加载单元格。也就是说,当表视图显示空单元格时,一旦数据提取完成,就在表视图中重新加载数据。

当表的dataSource动态更改时,在Xamarin iOS中更新UITableView

尝试调用

yourTableView.ReloadData()

数据加载完成时。

此外,请确保准备好使用显示的表格视图单元格

public override void PrepareForReuse() {//your code here }

在UITableViewCell类中。