美文网首页
122课:如何实现下拉刷新

122课:如何实现下拉刷新

作者: sing_crystal | 来源:发表于2016-06-04 16:06 被阅读108次

    课程笔记文集地址:Udemy课程:The Complete iOS 9 Developer Course - Build 18 Apps

    Section 8 主要的内容是克隆 Instagram:107 - 128课。

    1、创建下拉刷新的方法:

    创建下拉刷新的步骤,如下:

    // 创建刷新图标
    let refresher = UIRefreshControl()
    // 添加下拉刷新的时候要显示的文案
    refresher.attributedTitle = NSAttributedString(string: "下拉刷新")
    // 这个是关键代码,选择下拉后要执行的 action,还有此次下拉刷新控制的事件的类型:改变值
    refresher.addTarget(self, action: #selector(TableViewController.refresh), forControlEvents: UIControlEvents.ValueChanged)
    // 把下拉刷新添加到界面上
    self.tableView.addSubview(refresher)
    

    2、下拉刷新的文档:

    从下图中可以看到,一些基本的要求,用户下拉的时候,会自动触发 UIControlEvents.ValueChanged 事件,还有,刷新结束的方法必须要调用。

    3、常见使用情形:

    下拉刷新方法往往放到 viewDidLoad 方法里:

        var refresher: UIRefreshControl!
        override func viewDidLoad() {
            super.viewDidLoad()
            refresher = UIRefreshControl()
            refresher.attributedTitle = NSAttributedString(string: "Pull to refresh")
      
            refresher.addTarget(self, action: #selector(TableViewController.refresh), forControlEvents: UIControlEvents.ValueChanged)
            self.tableView.addSubview(refresher)
            refresh()
        }
    

    refresh() 方法里,进行数据的刷新,向服务器请求更新数据。然后更新完数据,调用 endRefreshing()

    比如使用了 tableview,则往往会出现这样:

    self.tableView.reloadData()
    self.refresher.endRefreshing()
    

    相关文章

      网友评论

          本文标题:122课:如何实现下拉刷新

          本文链接:https://www.haomeiwen.com/subject/lmxldttx.html