我从服务器加载了一部分数据,并将其显示在UITableView中。当用户将tableView滚动到tableView的底部(最后一个单元格)时,我将加载下一部分数据,并将其显示在tableView的新单元格中(添加新的单元格)。
我的目标是在从服务器加载数据时在底部的单元活动指示器中显示。是否有任何标准的美丽优雅的实现方式?我搜索了很多,但没有找到答案。
非常感谢您的回答!
最佳答案
我将BOOL isLoadingData
保留在数据模型中,以跟踪何时加载数据。我的tableViewController
通过KVO观察此属性并更新tableView
。我使用以下方法显示活动指示器。
在tableView:viewForFooterInSection:
中,如果isLoadingData = YES
返回一个包含UIActivityIndicatorView
和UILabel
表示正在加载数据的视图。否则返回nil
。
如果是isLoadingData = YES
,则在numberOfSectionsInTableView:
中将其他部分添加到计数中,并在1
中为此部分返回tableView:numberOfRowsInSection:
。在tableView:cellForRowAtIndexPath
中,返回一个包含一个UIActivityIndicatorView
和UILabel
的“正在加载”单元格。