iOS开发之MJRefresh

原创
2015/09/05 09:55
阅读数 3.2K

1、概述

MJRefresh是iOS开发中最常用的开源框架之一,主要用于UITanleView的下拉、上拉刷新。本框架兼容iOS6\iOS7,iPhone\iPad横竖屏,目前大多数商业app中都用到了这个框架。

框架地址:https://github.com/CoderMJLee/MJRefresh

2、使用方法

(1)下载框架,导入头文件

#import "MJRefresh.h"

(2)添加头部控件的方法

[self.tableView addHeaderWithTarget:self action:@selector(headerRereshing)];

 或者

[self.tableView addHeaderWithCallback:^{ }];

(3)添加尾部控件的方法

[self.tableView addFooterWithTarget:self action:@selector(footerRereshing)];

 或者

[self.tableView addFooterWithCallback:^{ }];

(4)可以在MJRefreshConst.h和MJRefreshConst.m文件中自定义显示的文字内容和文字颜色
(5)添加下拉刷新

MJRefreshHeaderView *header = [MJRefreshHeaderView header];
header.scrollView = self.tableView;
header.delegate = self;

(6)添加上拉加载更多

MJRefreshFooterView *footer = [MJRefreshFooterView footer];
footer.scrollView = self.tableView;
footer.delegate = self;

(7)监听刷新状态

方法一,设置代理delegate,一旦控件进入刷新状态,就会调用下面代理方法:

- (void)refreshViewBeginRefreshing:(MJRefreshBaseView *)refreshView
{
    if ([refreshView isKindOfClass:[MJRefreshFooterView class]]) {
        // 上拉加载更多
    } else {
        // 下拉刷新
    }
}

方法二,设置block回调:

header.beginRefreshingBlock = ^(MJRefreshBaseView *refreshView) {
    
};
footer.beginRefreshingBlock = ^(MJRefreshBaseView *refreshView) {
    
};

(8)进入刷新状态

[self.tableView headerBeginRefreshing];
[self.tableView footerBeginRefreshing];

(9)结束刷新

[self.tableView headerEndRefreshing];
[self.tableView footerEndRefreshing];

(10)如果需要,可以在MJRefreshBaseView.h中通过控制NeedAudio宏开启音频功能。

展开阅读全文
打赏
1
3 收藏
分享
加载中
更多评论
打赏
0 评论
3 收藏
1
分享
返回顶部
顶部