swift3 tableView刷新数据
来源:互联网 发布:为知笔记转印象笔记 编辑:程序博客网 时间:2024/05/19 16:02
在UITableViewController中存在一个刷新控件refreshController,利用这个刷新控件可以实现对tableView数据的刷新。
一、实现下拉刷新
1、实例化一个refreshController
实例化一个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() }
二、实现上拉刷新
原理:当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 } }
阅读全文
1 0
- swift3 tableView刷新数据
- tableView - 数据刷新
- tableview-数据刷新
- tableview 数据刷新
- IOS控件 Tableview 下拉刷新,加载数据
- tableView调用reloadData,数据没有刷新
- IOS控件 Tableview 下拉刷新,加载数据
- 关于不是tableView怎么刷新数据
- iOS tableView刷新选中cell数据
- tableView刷新
- tableview刷新
- ios tableView那些事 (十八) UITableView单行刷新数据
- ios tableView那些事 (十八) UITableView单行刷新数据
- iOS之TableView左划删除与刷新单挑数据
- 点不同的按钮刷新tableview的时间切换数据
- tableView 头部添加状态 今日头条刷新数据效果
- 关于cocos tableView的数据刷新后位置不变
- iOS的tableview与请求刷新数据一块的话.
- ss-libev 源码解析local篇(3): server_recv_cb之SNI和STAGE_PARSE
- nyoj-20吝啬的国度
- lintcode(148)颜色分
- CryMisc__writeup
- MySQL用户与权限管理
- swift3 tableView刷新数据
- Android项目混淆ProGuard详解
- 汽车加油问题--贪心算法
- Python中iteration(迭代)、iterator(迭代器)、generator(生成器)等相关概念的理解
- HDU 1201 18岁生日
- 程序小白---IO流之输入输出流
- hbuilder mui调用系统裁剪图片、头像裁剪-Android
- Python之路,Day6
- zabbix历史记录处出现问号乱码解决方法