iOS中第三方框架刷新
0.先加入主头文件
#import "MJRefresh.h"
1.添加下拉刷新
MJRefreshHeaderView *header = [MJRefreshHeaderView header];
header.scrollView = self.tableView;
header.delegate = self;
2.添加上拉加载更多
MJRefreshFooterView *footer = [MJRefreshFooterView footer];
footer.scrollView = self.tableView;
footer.delegate = self;
3.监听刷新状态,有2种方式
1> 设置代理delegate,一旦控件进入了刷新状态,就会调用delegate的下列方法
- (void)refreshViewBeginRefreshing:(MJRefreshBaseView *)refreshView
{
if ([refreshView isKindOfClass:[MJRefreshFooterView class]]) {
// 上拉加载更多
} else {
// 下拉刷新
}
}
2> 设置block回调
header.beginRefreshingBlock = ^(MJRefreshBaseView *refreshView) {
};
footer.beginRefreshingBlock = ^(MJRefreshBaseView *refreshView) {
};
4.通过代码进入刷新状态
[header beginRefreshing]; // 进入刷新状态就会触发相应的代理方法或者block
[footer beginRefreshing]; // 进入刷新状态就会触发相应的代理方法或者block
5.结束刷新状态,回到普通状态
[header endRefreshing];
[footer endRefreshing];
6.可以在MJRefreshBaseView.h中通过控制NeedAudio宏来开启音频功能
7.在MJRefreshFooterView.m和MJRefreshHeaderView.m中可以修改控件显示的文字
五、如果想在内部限制某个控件的宽高,不让外界随便改,可以重写setFrame:方法,在此方法内部设置自己的宽高