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实现后的效果,如图所示:
