新工程刚把熟悉好用的MJRefresh pod下来,刚准备写刷新,发现xcode不鸟我了,翻过去一看原来是mj老师更新作品啦,更好用更简洁,下面是一些简单的介绍
先附两张图。其实看图并没有大的作用,主要是可以让我们有一个大体的印象
写个例子:
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(MJR)];
self.tableView.mj_header = header;
[self.tableView.mj_header beginRefreshing];
我这里是创建了一个叫header的对象,并且把这个对象设置为我已经创建好的tableview属性的header 这里要注意:以前tableview后面是.header的,但是更新之后当然用更加见文知意的mj_header了。(footer用什么你懂的)
MJR是我为刷新功能写的一个小方法,想要实现什么功能写进去就可以了,在设置完之后就可以用 beginRefreshing这个mj老师写好的方法启动刷新功能了,当然别忘了在比如我的MJR里面,在你想要完成的任务结束之后关闭刷新,关闭的方法和以前一样,还是endRefreshing。
这里是以普通的刷新功能举一个小例子,当然你要添加gif动图,改变字体颜色,这些功能都是可以非常方便的实现。
比如要添加动图,就用MJRefreshGifHeader
来创建header对象
footer对象的创建和header差不多,名字上有一些区别,mj老师写的很清楚,可以在第三方的头文件里找到相应的内容去查阅
下面附上一些小功能的代码:
// 隐藏时间
header.lastUpdatedTimeLabel.hidden = YES;
// 隐藏状态
header.stateLabel.hidden = YES;
// 设置文字
[header setTitle:@"Pull down to refresh" forState:MJRefreshStateIdle]; [header setTitle:@"Release to refresh" forState:MJRefreshStatePulling]; [header setTitle:@"Loading ..." forState:MJRefreshStateRefreshing]; // 设置字体 header.stateLabel.font = [UIFont systemFontOfSize:15]; header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:14]; // 设置颜色 header.stateLabel.textColor = [UIColor redColor]; header.lastUpdatedTimeLabel.textColor = [UIColor blueColor];
到这里就基本能满足大多数对刷新加载功能的实现了,还不满足?别急,我写的文档太简单太少了,看看git上mj老师的文档吧:
https://github.com/CoderMJLee/MJRefresh
希望对你有帮助