想在tableview底部添加pull to refresh。
首先要在tableview 100到90中显示数字。
然后在tableview底部添加pull以刷新。拉它想要显示80到70,然后拉动刷新70到60,然后拉动刷新50到40 ...等最后1到10意味着得到停止显示“没有数据可用”。如何实现这一目标。帮助我,谢谢你。
这是我的代码。
@IBOutlet weak var dataTbl: UITableView!
var numbers: [Any] = ["90","91","92","93","94","95","96","97","98","99","100"] // display first 100 to 90.
在tableview中加载。
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.numbers.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:UITableViewCell = self.dataTbl.dequeueReusableCell(withIdentifier: cellReuseIdentifier) as UITableViewCell!
cell.textLabel?.text = self.numbers[indexPath.row] as? String
return cell
}
在google中搜索,以便在tableview的按钮中添加刷新。我有这个代码。
let spinner = UIActivityIndicatorView(activityIndicatorStyle: .gray)
spinner.color = UIColor.darkGray
spinner.hidesWhenStopped = true
tableView.tableFooterView = spinner
使用
显示微调器spinner.startAnimating()
使用
隐藏它spinner.stopAnimating()
通过使用此代码如何做拉动刷新帮助我。
答案 0 :(得分:2)
使用以下委托来检测表的结尾并使用表格页脚添加微调逻辑。
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if tableView.contentOffset.y >= (tableView.contentSize.height - tableView.frame.size.height) {
let spinner = UIActivityIndicatorView(activityIndicatorStyle: .gray)
spinner.color = UIColor.darkGray
spinner.hidesWhenStopped = true
tableView.tableFooterView = spinner
}
}
将更多条目附加到数据源后,请删除页脚视图
tableView.tableFooterView = nil
答案 1 :(得分:0)
您需要使用以下代码
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if tableView.contentOffset.y >= (tableView.contentSize.height - tableView.frame.size.height) {
//you reached the bottom of tableview, you can append the other 10 numbers to array and do reload
}
}
您不需要添加UIScrollViewDelegate
来实现此目标,我希望UITableViewDelegate
已足够。由于UITableview
继承了UIScrollView
的属性
希望这有帮助