关于列表分页,请教下iOS下拉刷新的逻辑处理?OC/Swift

MJRefresh 库用于上拉下拉来刷新。
创建于3年前。OC 写的,目前还在维护中。
个人感觉,有些过气了。
不知道对不对?
请教下,大家有没有推荐做下拉刷新这部分逻辑的三方库 OC/Swift。
公司还在集体用OC, 用MJ。
问身边的高手朋友,他们就说Alamofire+Refresh,还可以苹果自带ActivityIndicator/UIRefreshControl.
我看了京东的、和微信的。
图片描述
图片描述

感觉他们网络优化特别好,加载贼快贼快的。
感觉现在网络条件好。下拉刷新的功能严重弱化了,基本没用。
关键的做法是 提高网络响应、数据请求速度。
问题是,做列表分页,在哪里请求数据呢。
我看京东的、和微信的。非常流畅,感觉用了Texture.
具体望解答。
分页请求触发机制,希望得到回答。
什么时候请求下一页,现在感觉MJRefresh是用户拖动列表到底部了,才开始请求。(微信/京东,明显不是)
什么时候放UI(指示用户)?

阅读 5.7k
4 个回答

比如列表显示20行数据, 可以在用户显示18条数据的时候, 开始请求网络数据. 当用户拖到到底部时, 显示加载数据动画, 同时检测数据是否有请求成功, 如果成功则取消动画, 加载数据; 失败则等待请求.

赞同楼上的建议。不过我想提醒你,大厂加载快事因为他们有钱,图片这些资源全是 CDN 分发,与你使用什么控件没有关系。

新手上路,请多包涵

其实MJ的这个也有你说的那种功能,文档里面应该有说明。原理可以参见我的这篇博文,之前看mj的视频写的。和楼上的大同小异,只是判断的是距离。http://blog.csdn.net/leleyuan...
scrollView.contentInset包含如下属性:CGFloat top, left, bottom, right;
在scrollView中,top是上面额外的高度,bottom是下面额外的高度,中间包含的是contentView的contentSize。
scrollView的contentOffSet计算的是顶部偏移量的距离,当向上滚动时,contentOffSet.y将随着视图内容而增大。比较contentSize.height和offset.y的值,就可以实现这个自动加载下一页的功能。

我是在下拉开始时开始请求 ,停止加载数据

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题