美文网首页
swift3 tableView刷新数据

swift3 tableView刷新数据

作者: 小宇宙_fly | 来源:发表于2019-07-08 12:07 被阅读0次

    在UITableViewController中存在一个刷新控件refreshController,利用这个刷新控件可以实现对tableView数据的刷新。
    一、实现下拉刷新
    1、实例化一个refreshController


    image.png

    这是苹果官方解释
    实例化一个refreshController调用的是init()这个构造函数,因为在使用这个构造函数的时候会默认生成默认的一个frame。
    2、将refreshController添加到tableView上
    由于refreshController是下拉实现刷新的,所以可以添加到tableView上
    3、添加监听方法
    refreshController下拉会触发 UIControlEventValueChanged 事件
    4、数据刷新完毕需要停止刷新控件的动画
    endRefreshing()

    //设置刷新控件
    refreshController = UIRefreshControl()

        tableView?.addSubview(refreshController!)
    
        //添加监听方法
        refreshController?.addTarget(self, action: #selector(loadData), for: .valueChanged)
    
        //设置刷新控件的渲染颜色
        refreshController?.tintColor = .orange
    

    //刷新方法
    func loadData(){
    ............
    ............
    //刷新完毕停止动画
    refreshController?.endRefreshing()
    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    

    二、实现上拉刷新
    原理:当tableView被滑动到最后一行的时候刷新数据
    1、定义一个需要实现上拉刷新的标记
    用来标记是否已经滑动到了最后一行
    2、如果滑动到了最后一行就进行数据的刷新操作
    若要实现无缝刷新最好在willDisplaycell中实现

    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {

        // 1. 判断是否是最后一行 indexPath.row = max  , indexPath.section = max
        // 取出当前的行数
        let row = indexPath.row
        // 取出最大节数
        let section = tableView.numberOfSections - 1
        if row < 0 || section < 0 {
            return
        }
        //取最后一节的最大行数
        let maxRowCount = tableView.numberOfRows(inSection: section) - 1
        if row == maxRowCount && indexPath.section == section && !isPullUp{
            print("进行上拉刷新")
            isPullUp = true
    
            //刷新数据
            loadData()//在刷新数据的方法中刷新完成之后需要将刷新标记改为false
        }
    }
    

    作者:EIamor
    来源:CSDN
    原文:https://blog.csdn.net/eiamor/article/details/72629356
    版权声明:本文为博主原创文章,转载请附上博文链接!

    相关文章

      网友评论

          本文标题:swift3 tableView刷新数据

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