我正在使用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()
- 3 回答
- 0 关注
- 583 浏览
添加回答
举报
0/150
提交
取消