MJRefresh实现请求数据列表不满一页,或者请求数据为空时,不显示footer文字
最近自己负责的项目测试要求:
列表的数据不满一页的话就自动隐藏下面的“上拉加载更多”或是“到底了,没有更多数据”.
百度了一下,看了一篇博客的介绍实现: http://blog.csdn.net/gx_wqm/article/details/51682515
他的做法是写了个UITableview的分类来实现了这个功能,主要原理就是:数据加载完成时如果tableview的footer也就是mj_footer在屏幕显示区域,则说明列表数据不满一页,将footer的文字@“”,从而达到隐藏的目的。
但是我照着他这么实现,貌似实现不了效果..具体原因还是KVO监测frame没有调用...具体为什么没有调用,现在我还没懂清楚...嘿嘿,有时间研究吧....
后来发现要实现我的项目的功能,只需要修改一句代码就可以了:
代码如下:
#pragma mark - 下拉刷新,上拉加载
- (void)createMJRefresh {
self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
self.pageSize = pageCount;
[self requestNetDataThenRefresh];
}];
self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
self.pageSize = self.pageSize + pageCount;
[self requestNetDataThenRefresh];
}];
}
总结来说就是:设置mj_footer为 MJRefreshBackNormalFooter类型即可....so easy!
MJRefresh实现请求数据列表不满一页,或者请求数据为空时,不显示footer文字的更多相关文章
- easyUI draggable插件使用不当,导致拖动div内部文本框无法输入;设置echarts数据为空时就显示空白,不要动画和文字
先上一个Demo <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://ww ...
- esayUi中datagrid中json串为空时,显示上一次数据的解决方法
function initSearchProject(startDate,finishDate,flag) { $("#finishDate").val(finish ...
- Echarts data数据为空时,显示“-”
{ name:'2007', type:'bar', data:["","",""]} 解决办法: 写成data:["" ...
- [ionic开源项目教程] - 第4讲 通Service层获取数据列表
第4讲:通Service层获取数据列表 上一讲中页面的基本架构已完成,这一讲介绍如何通过service层从服务器请求数据,在通过controller层为载体,显示到视图层. 1.在services.j ...
- Vuejs实战项目五:数据列表
1.在EasyMock 中添加数据列表模拟接口 请求url:/suyuan/list 请求方式:get 描述:数据列表 mock.js配置: 例: { "code": 2000, ...
- vue 实现返回上一页不请求数据keep-alive
常规操作: 我们通常会将通过接口请求数据的方法放在==created== 或者 ==mounted==这两个生命周期中的一个里面调用. 但是我们知道,不管是我们刚进入这个页面还是从其他页面返回这个页面 ...
- CS窗体程序数据列表分页
以前,觉得winform程序分页很无趣,也没实际意义,直到近期的项目实践中让我认识到原来winform数据列表分页也是非常有必要的,因为由于数据量过大的情况,当窗体在初始加载数据的时候如果不做条件的限 ...
- vue列表到详情页的实现
路由里边的 router/index.js path:'/detail/:id' 动态id 列表页渲染时: :to="'/detail/'+item.id" ===>id是指 ...
- 从后端到前端之Vue(四)小试牛刀——真实项目的应用(树、tab、数据列表和分页)
学以致用嘛,学了这么多,在真实项目里面怎么应用呢?带着问题去学习才是最快的学习方式.还是以前的那个项目,前后端分离,现在把前端换成vue的,暂时采用脚本化的方式,然后在尝试工程化的方式. 现在先实现功 ...
随机推荐
- Oracle批量导出表数据到CSV文件
需求:把oracle数据库中符合条件的n多表,导出成csv文本文件,并以表名.csv为文件名存放. 实现:通过存储过程中utl_file函数来实现.导出的csv文件放入提前创建好的directory中 ...
- h5转pb的两个坑
1.需要加上如下设置,否则转换前后输出可能不一致,这个主要针对dropout.BN层训练测试不一致 from keras import backend as K K.set_learning_phas ...
- CentOS系统下使用docker安装pinpoint
准备:安装docker与docker-compose docker安装参考:https://www.cnblogs.com/zhi-leaf/p/10561501.html docker-compos ...
- 浏览器自动将参数中的url转码问题
遇到一个问题, 开始的url如下: http://localhost:6666/pages/wxpay.html? code_url=weixin://wxpay/biz 请求转发到谷歌浏览器打开后变 ...
- 对Spring Boot 及Mybatis简单应用
因为没有系统的学习过SpringBoot,在对照一个别人的SpringBoot项目,进行简单的搭建及使用. 1.首先创建SpringBoot项目之后,这里会有默认的启动类,基本不需要配置,在类的上边有 ...
- mysql之单表条件查询
create table staff_info( id int primary key auto_increment, name varchar(32) not null, age int(3) un ...
- 【传输管理③】Client集团间的传输(例:开发环境300→310,300→320)
之前有提到: 每个环境可能有若干个Client(客户端/集团),且每个Client用途都不一样. 如下图所示,开发环境就有300,310和320三个Client. 假设开发人员在Client300中新 ...
- oracle-linux7 镜像地址 secuCRT 注册-linux内核
http://mirrors.dotsrc.org/oracle-linux/OL7/u4/x86_64/ secuCRT 注册 https://github.com/hanxianzhai/Secu ...
- (Java多线程系列一)快速入门
Java多线程快速入门 1.线程和进程的区别 进程是所有线程的集合,每一个线程是进程的一条执行路径. 2.多线程的应用场景 多线程主要体现在提高程序的效率,比如迅雷多线程下载,多线程分批发送短信等. ...
- 深入理解Vuex 模块化(module)
todo https://www.jb51.net/article/124618.htm