MJRefresh简单应用
2016-12-14 11:35
435 查看
最近这几天一直在研究ios刷新的第三方库MJRefresh,相信很多做开发的朋友都接触过,我用的是swift2.3和OC混编,话不多说,分享一下我的心得吧!
MJRefresh分头部(header)和底部(footer)。在MJRefresh里创建好了一个mj_header和mj_footer,使用这两个属性对MJRefresh的样式进行修改。
在自己的代码里:
self.mytableview.mj_header =
MJRefreshNormalHeader(refreshingTarget: self, refreshingAction:#selector(controller.readdata))//括号里是你读取数据的方法,当然你可以创建一个新的方法添加你的判断逻辑,把这个读取数据的方法也放进去,然后这里括号就写你新创建的方法
self.mytableview.mj_header.beginRefreshing()//调用这个方法开始刷新
如果想要改变刷新时的字体形态,刷新图片等
let Header = MJRefreshGifHeader (refreshingTarget: self, refreshingAction:#selector(ViewController.headRefresh)) // 设置各种状态动画图片
Header .setImages([AnyObject]!, forState: <#T##MJRefreshState#>)
/** 普通闲置状态 */
MJRefreshStateIdle = 1,
/** 松开就可以进行刷新的状态 */
MJRefreshStatePulling,
/** 正在刷新中的状态 */
MJRefreshStateRefreshing,
/** 即将刷新的状态 */
MJRefreshStateWillRefresh,
/** 所有数据加载完毕,没有更多的数据了 */
MJRefreshStateNoMoreData 5种状态的图片随你添加
// 设置header
self.mytableview.mj_header = Header
下拉刷新03-隐藏时间
// 隐藏时间
Header.lastUpdatedTimeLabel.hidden = true
// 隐藏状态
Header.stateLabel.hidden = true
下拉刷新05-自定义文字
// 设置文字
Header .setTitle(<#T##title: String!##String!#>, forState: <#T##MJRefreshState#>) 前边是string类型,后边的type同动画图片设置的type
// 设置字体
Header.stateLabel.font = UIFont.systemFontOfSize(50.0)
Header.lastUpdatedTimeLabel.font = UIFont.systemFontOfSize(50.0)//括号里是CGFloat类型,数字随你填
// 设置颜色
Header.stateLabel.textColor = UIColor.whiteColor()
Header.lastUpdatedTimeLabel.textColor = UIColor.whiteColor()
(下拉刷新05-自定义文字)
footer和header一样
self.mytableview.mj_footer = MJRefreshBackNormalFooter(refreshingTarget: self, refreshingAction: #selector(ViewController.footRefresh))
let Footer = MJRefreshBackGifFooter(refreshingTarget: self, refreshingAction:#selector(BankCardViewController.footRefresh) MJRefreshBackGifFooter初始化footer是隐藏在底部
let Footer = MJRefreshAutoGifFooter(refreshingTarget: self, refreshingAction:#selector(BankCardViewController.footRefresh) MJRefreshAutoGifFooter初始化footer是紧贴header下方
self.mytableview.mj_footer = Footer
其他的方法和header没多大区别
在readdata结束时,添加self.endRefresh()用来结束刷新
做一个小小的判断self.mytableview.mj_header.endRefreshing()
self.mytableview.mj_footer.endRefreshing()
//判断是否加载完数据(加载的datalist是否等于总条数listcount,如果小于,就可以继续刷新,==就结束刷新)
if(dataList.count < listCount){
//上拉继续刷新
self.mytableview.mj_footer.endRefreshing()
}else{
//全部加载完毕
self.mytableview.mj_footer.endRefreshingWithNoMoreData()
}
}
如果那里有错,欢迎大家指出错误,共同进步!
MJRefresh分头部(header)和底部(footer)。在MJRefresh里创建好了一个mj_header和mj_footer,使用这两个属性对MJRefresh的样式进行修改。
在自己的代码里:
self.mytableview.mj_header =
MJRefreshNormalHeader(refreshingTarget: self, refreshingAction:#selector(controller.readdata))//括号里是你读取数据的方法,当然你可以创建一个新的方法添加你的判断逻辑,把这个读取数据的方法也放进去,然后这里括号就写你新创建的方法
self.mytableview.mj_header.beginRefreshing()//调用这个方法开始刷新
如果想要改变刷新时的字体形态,刷新图片等
let Header = MJRefreshGifHeader (refreshingTarget: self, refreshingAction:#selector(ViewController.headRefresh)) // 设置各种状态动画图片
Header .setImages([AnyObject]!, forState: <#T##MJRefreshState#>)
/** 普通闲置状态 */
MJRefreshStateIdle = 1,
/** 松开就可以进行刷新的状态 */
MJRefreshStatePulling,
/** 正在刷新中的状态 */
MJRefreshStateRefreshing,
/** 即将刷新的状态 */
MJRefreshStateWillRefresh,
/** 所有数据加载完毕,没有更多的数据了 */
MJRefreshStateNoMoreData 5种状态的图片随你添加
// 设置header
self.mytableview.mj_header = Header
下拉刷新03-隐藏时间
// 隐藏时间
Header.lastUpdatedTimeLabel.hidden = true
// 隐藏状态
Header.stateLabel.hidden = true
下拉刷新05-自定义文字
// 设置文字
Header .setTitle(<#T##title: String!##String!#>, forState: <#T##MJRefreshState#>) 前边是string类型,后边的type同动画图片设置的type
// 设置字体
Header.stateLabel.font = UIFont.systemFontOfSize(50.0)
Header.lastUpdatedTimeLabel.font = UIFont.systemFontOfSize(50.0)//括号里是CGFloat类型,数字随你填
// 设置颜色
Header.stateLabel.textColor = UIColor.whiteColor()
Header.lastUpdatedTimeLabel.textColor = UIColor.whiteColor()
(下拉刷新05-自定义文字)
footer和header一样
self.mytableview.mj_footer = MJRefreshBackNormalFooter(refreshingTarget: self, refreshingAction: #selector(ViewController.footRefresh))
let Footer = MJRefreshBackGifFooter(refreshingTarget: self, refreshingAction:#selector(BankCardViewController.footRefresh) MJRefreshBackGifFooter初始化footer是隐藏在底部
let Footer = MJRefreshAutoGifFooter(refreshingTarget: self, refreshingAction:#selector(BankCardViewController.footRefresh) MJRefreshAutoGifFooter初始化footer是紧贴header下方
self.mytableview.mj_footer = Footer
其他的方法和header没多大区别
在readdata结束时,添加self.endRefresh()用来结束刷新
做一个小小的判断self.mytableview.mj_header.endRefreshing()
self.mytableview.mj_footer.endRefreshing()
//判断是否加载完数据(加载的datalist是否等于总条数listcount,如果小于,就可以继续刷新,==就结束刷新)
if(dataList.count < listCount){
//上拉继续刷新
self.mytableview.mj_footer.endRefreshing()
}else{
//全部加载完毕
self.mytableview.mj_footer.endRefreshingWithNoMoreData()
}
}
如果那里有错,欢迎大家指出错误,共同进步!
相关文章推荐
- java(j2ee)应用-简单自定义标签开发全过程----之一(Inber)
- BootStrap便签页的简单应用
- Tomcat4/5连接池的设置及简单应用示例
- Tomcat4/5连接池的设置及简单应用示例
- J2ME应用实例——一个简单的计算器实现(附源代码)
- 一个简单的定时器应用: VarTimer (java)
- Tomcat4/5连接池的设置及简单应用示例
- java(j2ee)应用-简单自定义标签开发全过程----之一(Inber)——JAVA夜未眠
- 有行统计项和列统计项的行列转换,以及EXCEL导入SQL的简单应用
- XML在Web中的简单应用
- EJB中JNDI的逻辑名的使用及部署_{EJB之无状态会话Bean简单应用-学习与实践}续(inber原作)
- SQLSERVER扩展存储过程XP_CMDSHELL的简单应用
- 使用C#开发一个简单的P2P应用
- [原创]用jar命令将Web应用打包成war文件的简单方法
- 使用C#开发一个简单的P2P应用
- 线程池在web上的简单应用
- 简单dll动态链接库的建立和应用
- Tomcat4/5连接池的设置及简单应用示例
- J2ME应用实例——一个简单的计算器实现(附源代码)
- JBuilder9.0开发hibernate应用简单教程!