MJRefresh使用

MJRefresh, 仅需几行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。

下载下来自己试了下,发现不错。  mark下。

下载链接:http://code4app.com/ios/快速集成下拉上拉刷新/52326ce26803fabc46000000

下面纪录下自己的集成过程,当然,作者所给的demo里面已经很详细的给出了。 这里只不过是纪录下自己的实现过程而已。

1.将MJRefresh文件夹整个导入所需的工程中。

2.文件夹中的MJRefresh.bundle--->[email protected] 图片可自行替换,这个会在刷新过程中显示。

3.可以在MJRefreshConst.h和MJRefreshConst.m文件中自定义显示的文字内容和文字颜色。

4.只要你的view能够滚动,就能集成这个控件,比如UIScrollView、UITableView、UICollectionView

5.在需要使用的地方,加入如下代码即可。

5.1  导入头文件

1 #import "MJRefresh.h"

5.2  遵从协议

1 @interface ViewController ()<MJRefreshBaseViewDelegate> 

5.3  为你的view添加控件

1 MJRefreshFooterView *footer = [MJRefreshFooterView footer];
2     footer.scrollView = myTableView;
3     footer.delegate = self;
4
5     MJRefreshHeaderView *header = [MJRefreshHeaderView header];
6     header.scrollView = myTableView;
7     header.delegate = self; 

5.4实现代理方法

 1 #pragma mark - 刷新控件的代理方法
 2 #pragma mark 开始进入刷新状态
 3 - (void)refreshViewBeginRefreshing:(MJRefreshBaseView *)refreshView
 4 {
 5     NSLog(@"%@----开始进入刷新状态", refreshView.class);
 6     // 2.2秒后刷新表格UI
 7     [self performSelector:@selector(doneWithView:) withObject:refreshView afterDelay:2.0];
 8
 9 }
10
11 #pragma mark 刷新完毕
12 - (void)refreshViewEndRefreshing:(MJRefreshBaseView *)refreshView
13 {
14     NSLog(@"%@----刷新完毕", refreshView.class);
15 }
16
17 #pragma mark 监听刷新状态的改变
18 - (void)refreshView:(MJRefreshBaseView *)refreshView stateChange:(MJRefreshState)state
19 {
20     switch (state) {
21         case MJRefreshStateNormal:
22             NSLog(@"%@----切换到:普通状态", refreshView.class);
23             break;
24
25         case MJRefreshStatePulling:
26             NSLog(@"%@----切换到:松开即可刷新的状态", refreshView.class);
27             break;
28
29         case MJRefreshStateRefreshing:
30             NSLog(@"%@----切换到:正在刷新状态", refreshView.class);
31             break;
32         default:
33             break;
34     }
35 }
36
37 #pragma mark 刷新表格并且结束正在刷新状态
38 - (void)doneWithView:(MJRefreshBaseView *)refreshView
39 {
40     // 刷新表格
41     [myTableView reloadData];
42
43     // (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态
44     [refreshView endRefreshing];
45 }  

6.你可以通过调用beginRefreshing自动进入下拉刷新状态。

7.你可以通过调用endRefreshing结束刷新状态。

8.为了保证内部不泄露,最好在控制器的dealloc中释放占用的内存
- (void)dealloc
{
[_header free];
[_footer free];
}

时间: 2024-12-19 16:53:48

MJRefresh使用的相关文章

MJRefresh框架

1.用MJRefresh框架实现上下拉刷新 1.1 如何使用这个框架,只需要告诉控件的scrollView是谁,就能将框架添加到我们的滚动视图中了 // 下拉刷新 MJRefreshHeaderView *header = [MJRefreshHeaderView header]; header.scrollView = self.tableView; header.delegate = self; // 开始下拉刷新 [header beginRefreshing]; / 下拉刷新 MJRef

iOS开发-MJRefresh 上下拉刷新快速集成

在ios7之前,一直在使用开源的EGO库.但是,在使用过程中发现,普遍封装得过于复杂.耦合性强,不利于集成到自己的项目中. 另外,在ios7之后,一些原有的下拉刷新,上拉加载控件表现的就不是那么出色了.除了可能出错外,也不符合扁平化的风格. 后来,在code4App上发现了一个大牛上传了一个开源代码, 仅需几行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明. 下载下来自己试了下,发现不错.  mark下. 下载链接:

MJRefresh更新,方法更简单好用。和旧版相比部分属性或者方法需要添加前缀mj_

1 // 2 // ViewController.m 3 // mjRefresh 4 // 5 // Copyright (c) 2015年 ys. All rights reserved. 6 // 7 8 #import "ViewController.h" 9 #import "MJRefresh.h" 10 11 @interface ViewController () 12 @property (nonatomic,strong)NSMutableArr

MJRefresh的用法

最近用到刷新的问题,然后研究了一下mj的刷新代码,受益很多,为了以后用到的时候能够迅速使用,也希望能够帮助到正在使用MJRefresh的同学,下面废话不多说,直接上图上代码! 1.  code4app下载MJRefresh包之后,按照下面步骤执行 2.集成刷新控件 3.代理方法进行刷新 4.停止刷新状态 5. 释放刷新控件(无所谓是否是arc的问题,此处一定要加)

MJRefresh框架使用及说明

一. MJRefresh的类解释. 1.MJRefreshComponent              所有刷新控件的基类别.(component: 成分,组件) 2.MJRefreshNormalHeader          默认的下拉刷新控件 3.MJRefreshAutoNormalFooter    默认的上拉刷新控件                下拉刷新控件自适应在页面内容下面 4.MJRefreshAutoGifFooter          带动态图的上拉加载控件      

关于MJRefresh的下拉加载数据bug

当没有更多数据的时候显示NoMoreData 我的理解是先结束刷新再显示没有更多 今天之前一直没发现有问题 贴之前的代码 [self.collectionView reloadData]; [self.collectionView.mj_header endRefreshing]; // 结束刷新 [self.collectionView.mj_footer endRefreshing]; NSArray *arr = data[@"Json"]; if (arr.count == 0

iOS:详解MJRefresh刷新加载更多数据的第三方库

原文链接:http://www.ios122.com/2015/08/mjrefresh/ 简介 MJRefresh这个第三方库是李明杰老师的杰作,这个框架帮助我们程序员减轻了超级多的麻烦,节约了开发时间,提高了开发效率.由于目前能力有限,尚不能自己写一套框架,所以就先膜拜和看明白大牛的框架了. 用于为应用添加常用的上拉加载更多与下拉刷新效果,适用 UIScrollView . UITableView . UICollectionView . UIWebView. gtihub上的地址:http

mjrefresh源码分析

最近想自己写个下拉刷新的库,但是始终感觉无从下手,想想总是容易的.原理也很简单,真正要下手写的时候,呵呵.不得不说ios封装得很好,网上可以用的成熟的库也很多,也正是因为如此很多开发者也忽略了很多底层的东西,真正要去说清楚这些库的原理也说不清楚.以至于这两天说想自己写个下拉,蛋疼..听很多从c++转到其他开发诸如c#或者ios或者java的朋友都说其实这些代码写起来都没有c++或者c写起来爽,不过开发的速度的确是c++没法比的.呵呵答. 今天研究了下mjrefresh,认真看了一下午,各处打断点

上拉刷新和下拉刷新的两种方法(包括使用第三方库MJRefresh)

一.使用苹果原生的方法 1.下拉刷新 2.上拉刷新 (1 首先要新建一个footer得XIB文件,当然同时包括对应的控制器文件,例如在XIB文件中可以如下拖拉对应的控件 (2 然后在代码文件中写一个实例方法 +(instancetype)footer { return  [[[NSBundle mainBundle] loadNibNamed:@"XIB文件名" owner:nil options:nil] lastObject]; } (3 然后在我们的列表控制器中调用: /** *