UITableView上拉、下拉原理
来源:互联网 发布:java作用域范围 编辑:程序博客网 时间:2024/04/28 05:13
TableView的上拉,下拉特效已经满大街都是了,也有很多第三方的代码。
这两天研究了一下其原理,分享一下思路。这里以tableView的上拉为例,由于上拉操作的样式也很多,这里只介绍一种:在上拉tableView的时候,在tableView的bottom下面,添加一个view,该view可以自定义。我称这个view为pullView,pullView是动态的,如下图(该图仅展示了loading状态,另外在loading的位置,还有“上拉显示更多”、“松手显示更多”和“没有更多”几个状态字符)
下图列出来pullView的基本状态,以及他们相互转化的路线。
1. 将tableView向上稍微拉出一点,此时显示“上拉显示更多”
2. 继续向上拉,超出一定距离,显示“松手可显示更多”;此时用户可继续向上拉,程序员要在- (void)scrollViewDidScroll:(UIScrollView *)scrollView 中要不断设置pullView的frame,以便pullView可以跟随scrollerView。
3. 松手后,显示“加载中...”(需要设置Inset,即,将scrollerView的Inset.Bottom变大,以至于能腾出空间显示pullView。就上图而言Inset({64, 0, 56, 0}))
4.在上拉时候没有松手,又拉回去(中间没有停顿)。
5.继续下拉,直至pullView移除屏幕了
6.loading完成就隐藏(恢复Inset,但是不恢复Offset,不然则出现抖动,关于抖动更详细的参考这里)
7. 某些情况直接跳过第一步,进入trigger状态。
8. 显示“没有更多”的label
- UITableView上拉、下拉原理
- UITableView上拉与下拉刷新
- UITableView 上拉刷新,下拉刷新
- UItableView的上拉与下拉刷新
- UITableView:下拉刷新和上拉加载
- 【iOS】UITableView的上拉加载更多和下拉刷新原理
- 让UITableView同时支持上拉,下拉刷新
- iOS UITableView 实现上拉及下拉刷新
- 关于UITableView上拉或下拉时加载数据思路
- iOS UITableView 实现上拉及下拉刷新
- iOS UITableView 实现上拉及下拉刷新
- ios中uitableview上拉刷新和下拉刷新(1)
- iOS-----iOS UITableView 实现上拉及下拉刷新
- UIScrollerView和UITableView下拉刷新,上拉加载更多
- UITableView 上拉刷新和下拉刷新(使用MJRefresh)
- UITableView:下拉刷新和上拉加载更多
- iOS UITableView(三)-下拉刷新、上拉加载
- 上拉加载下拉刷新的原理
- 我的CUDA学习笔记
- 【C语言】将字符串顺序翻转,如: I am a student 转成:student a am I
- concatenate two byte arrays
- C语言实现 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。
- 函数调用栈空间的分配和释放
- UITableView上拉、下拉原理
- Oracle 中,函数如何返回结果集
- 蓝桥杯:算法训练 2的次幂表示
- ARM-Linux支持并自动挂载U盘
- convert a hexadecimal string to a byte string
- html5
- 坑爹的SIGPIPE
- Ajax 学习初步
- leetcode-14 Longest Common Prefix