我有一个UITableView
显示数据列表。
该列表将包含图像,因此我正在使用延迟加载加载图像。现在我不想一次加载整个列表。
加载应该是这样的,首先它应该加载大约 10 条记录,当我们向下滚动到 时tableview
,它应该自动加载接下来的 10 条记录。
为此,我需要在滚动到底部时添加行。tableview
可能包含不同的部分。
那么如何在tableview
向下滚动的末尾添加新行和新部分?
我有一个UITableView
显示数据列表。
该列表将包含图像,因此我正在使用延迟加载加载图像。现在我不想一次加载整个列表。
加载应该是这样的,首先它应该加载大约 10 条记录,当我们向下滚动到 时tableview
,它应该自动加载接下来的 10 条记录。
为此,我需要在滚动到底部时添加行。tableview
可能包含不同的部分。
那么如何在tableview
向下滚动的末尾添加新行和新部分?
首先,您想要做的事情称为延迟加载。
意味着您的表格视图将在当前对用户可见的单元格中加载图像或显示数据。所以看看这个链接。它提供了可能对您有所帮助的示例代码。
并插入行,您可以使用
(void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;
在
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == [yourArray count]-1)
{
//start fetching the next set of data in background asynchronously and when fetching is complete use delegate methods to reload or append your current UITableView , meanwhile start a activity indicator as footer to show loading
}
}
这是有效的方法,如果你在滚动到底部时尝试同步实现,它会导致你的设备卡住
查看有关 UITableView 的 Apple 文档。您可以使用以下方法添加一行:
- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;