我目前正在努力为我的应用实施底部加载指标,就像Instagram和Facebook一样。简单地说,我想在底部显示一个加载指示器(在反向拖动时),就像正常的表视图加载一样。
以下是我对常规表视图更新的代码:
var refreshControl: UIRefreshControl!
//In viewDidLoad
refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: "Refresh:", forControlEvents: UIControlEvents.ValueChanged)
tableView.addSubview(refreshControl)
在我的func Refresh()中,我只是获取数据,并从那里控制活动指示器。但是,如果我想在tableView的底部启用它,我将如何处理此问题?
非常感谢帮助。
答案 0 :(得分:1)
将其添加到表格页脚视图
tableView.tableFooterView = footerView
添加refreshControl会很困难。 在页脚视图中添加UIIndicatorView。 实现scrollViewDidScroll:
func scrollViewDidScroll(scrollView: UIScrollView) {
if (scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height {
tableView.tableFooterView!.hidden = true
// call method to add data to tableView
}
}
答案 1 :(得分:1)
刷新控制器用于pulltorefresh,通常用于重新加载数据。
屏幕底部的微调器用于分页。
您需要在numberOfRows方法中执行的操作返回arraysize + 1。 在cellforRowAtIndexPath方法中检查indexpath.row> arraySize比返回中心具有uiactivitycenter的单元格。
希望这会对你有所帮助。
答案 2 :(得分:0)
如果要通过分页从API调用中获取数据,该数据必须显示在表格视图中,那么Kuntal的答案是正确的,此外,当没有更多数据时,以及完成后,您可以将包含指标视图的单元格设置为0高重装。比检查并返回arraysize + 1更容易管理。