Swift 4 UIRefreshControl是具有ScrollView效果的下拉刷新控件,在UITableView列表的使用过程中,下拉刷新是经常要被使用到的,比如聊天记录的刷新加载,最新新闻的刷新等,都需要使用UIRefreshControl来实现,下面是UIRefreshControl的使用教程。
import UIKit class ViewController: UIViewController , UITableViewDelegate , UITableViewDataSource { @IBOutlet var refreshtable : UITableView! var refreshControl = UIRefreshControl() let data: [String] = ["Apple", "HP", "Accer"] override func viewDidLoad() { super.viewDidLoad() // 在UITableView中加入UIRefreshControl下拉刷新控件 refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh") refreshControl.addTarget(self, action: #selector(refresh), for: .valueChanged) self.refreshtable.addSubview(refreshControl) self.refreshtable.register(UITableViewCell.self, forCellReuseIdentifier: "cell") } @objc func refresh(_ sender: Any) { // 从网络中加载数据,并刷新数据源... } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return data.count; } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell:UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell") as UITableViewCell! cell.textLabel?.text = self.data[indexPath.row] return cell } }
下面是Swift UIRefreshControl实现后的效果,如图所示: