我正在使用swift构建RSS阅读器,并且需要实现pull来重新加载功能。
这是我试图做到的方式。
class FirstViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { @IBOutlet var refresh: UIScreenEdgePanGestureRecognizer @IBOutlet var newsCollect: UITableView var activityIndicator:UIActivityIndicatorView? = nil override func viewDidLoad() { super.viewDidLoad() self.newsCollect.scrollEnabled = true // Do any additional setup after loading the view, typically from a nib. if nCollect.news.count <= 2{ self.collectNews() } else{ self.removeActivityIndicator() } view.addGestureRecognizer(refresh) } @IBAction func reload(sender: UIScreenEdgePanGestureRecognizer) { nCollect.news = News[]() return newsCollect.reloadData() }
我正进入(状态 :
super.init调用未初始化属性“ self.refresh”
请帮助我了解手势识别器的行为。一个有效的示例代码将有很大的帮助。
谢谢。
拉动刷新 是iOS内置的。你可以像这样迅速
var refreshControl = UIRefreshControl() override func viewDidLoad() { super.viewDidLoad() refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh") refreshControl.addTarget(self, action: #selector(self.refresh(_:)), for: .valueChanged) tableView.addSubview(refreshControl) // not required when using UITableViewController } @objc func refresh(_ sender: AnyObject) { // Code to refresh table view }
在某些时候,您可能会刷新。
refreshControl.endRefreshing()