如何在Swift中使用pull刷新?

我正在使用swift构建RSS阅读器,并且需要实现pull to reload功能。


这是我试图做到的方式。


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”


请帮助我了解手势识别器的行为。一个有效的示例代码将有很大的帮助。


谢谢。


开心每一天1111
浏览 536回答 3
3回答

慕的地6264312

拉动刷新是iOS内置的。您可以像var refreshControl = UIRefreshControl()override func viewDidLoad() {&nbsp; &nbsp;super.viewDidLoad()&nbsp; &nbsp;refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")&nbsp; &nbsp;refreshControl.addTarget(self, action: #selector(refresh(_:)), for: UIControl.Event.valueChanged)&nbsp; &nbsp;tableView.addSubview(refreshControl) // not required when using UITableViewController}@objc func refresh(sender:AnyObject) {&nbsp; &nbsp;// Code to refresh table view&nbsp;&nbsp;}在某些时候,您可能会刷新。refreshControl.endRefreshing()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS