为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Swift中使用pull刷新?

如何在Swift中使用pull刷新?

iOS
开心每一天1111 2019-11-21 14:35:21
我正在使用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”请帮助我了解手势识别器的行为。一个有效的示例代码将有很大的帮助。谢谢。
查看完整描述

3 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

拉动刷新是iOS内置的。您可以像


var refreshControl = UIRefreshControl()


override func viewDidLoad() {

   super.viewDidLoad()


   refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh")

   refreshControl.addTarget(self, action: #selector(refresh(_:)), for: UIControl.Event.valueChanged)

   tableView.addSubview(refreshControl) // not required when using UITableViewController

}


@objc func refresh(sender:AnyObject) {

   // Code to refresh table view  

}

在某些时候,您可能会刷新。


refreshControl.endRefreshing()


查看完整回答
反对 回复 2019-11-21
  • 3 回答
  • 0 关注
  • 583 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信