在iOS swift中如何在tableview中进行刷新刷新

时间:2017-09-07 11:05:47

标签: ios iphone swift pull-to-refresh

想在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()

通过使用此代码如何做拉动刷新帮助我。

2 个答案:

答案 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的属性 希望这有帮助