iOS开发之MJRefresh

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宏开启音频功能。

时间: 2024-10-27 16:34:10

iOS开发之MJRefresh的相关文章

李洪强iOS开发之iOS社区收集

李洪强iOS开发之iOS社区收集 项目 简述 github 全球最大的代码仓库,无论是iOS开发还是Android开发没有人不知道这个网站,它也是一个社区,你可以去follow(关注)某些人或公司. cocoachina 号称全球最热的苹果开发社区,这里有很多关于iOS,mac开发的相关文章,值得收藏的中午社区 Swift 语言指南 这份指南汇集了Swift语言主流学习资源,并以开发者的视角整理编排,虽然看上去只是一篇博文,但是作者每周都在更新,从这个角度来说,我把它归类到社区中. swiftk

IOS开发之XML解析以及下拉刷新上拉加载更多的分享

IOS开发之XML解析 1.XML格式 <?xml version="1.0" encoding="utf-8" ?> 表示XML文件版本, 内部文本使用的编码 <root> 表示根节点 <CityName>北京</CityName>  一个结点, CityName是结点名, 北京结点值 <Item key="1" value="A"></Item>  

李洪强IOS开发之iOS好项目收集

李洪强IOS开发之iOS好项目收集 在这里收集一些最近出现的比较实用好玩的框架或者项目,会不断更新 项目 简述 日期 SCTableViewCell 类似与QQ侧滑删除Cell的Demo 201501018 JHChainableAnimations 可读性好使用方便的动画库,语法类似与Masonry,使用链式编程 20150506 awesome-ios-chart iOS平台下的各种图表组件 20150513 DevArticles iOS Animation 主流炫酷动画框架(特效)收集整

IOS开发之copy的问题

copy的目的就是修改副本,修改原始对象和副本时不会产生干扰. 定义一个不可变属性A,再定义一个可变属性B.用B做添加删除等操作后再将B赋值给A时,有些人习惯用A = B:其实这样是不安全的. 假设有下面的一段代码: ? 1 2 3 4 5 6 7 8 9 10   int main() {    NSMutableString *strM = [NSMutableString [email protected]"123"];    NSString *str = strM;    N

iOS开发之WKWebView简单使用和常用使用场景

iOS开发之 WKWebVeiw使用 想用UIWebVeiw做的,但是突然想起来在iOS8中出了一个新的WKWebView,算是UIWebVeiw的升级版.本着对新事物的好奇,就上网查了一下,但是找了好多个都没说的多了详细,于是就问谷歌,找文档,看看使用方法,试用了一下,果然不错,记录下来,大家分享! WKWebView的特点: 性能高,稳定性好,占用的内存比较小, 支持JS交互 支持HTML5 新特性 可以添加进度条(然并卵,不好用,还是习惯第三方的). 支持内建手势, 据说高达60fps的刷

iOS开发之Auto Layout入门

随着iPhone6与iOS8的临近,适配的问题讲更加复杂,最近学习了一下Auto Layout的使用,与大家分享.  什么是Auto Layout? Auto Layout是iOS6发布后引入的一个全新的布局特性,其目的是弥补以往Autoresizing在布局方面的不足之处,以及未来面对更多尺寸适配时界面布局可以更好的适应. 为什么要用Auto Layout? Autolayout能解决不同屏幕(iPhone4,iPhone5,iPad...)之间的适配问题. 在iPhone4时代开发者只需要适

iOS开发之CocoaPods的使用

透明色:00ff00ff //设置柱状图的颜色                ColorSet cs = new ColorSet();                cs.Id = "colorset1"; #region 设置柱状图的颜色 待开发                    string strColor = oYAXIS.Color;                    switch (strColor)                    {           

iOS开发之UILabel

UILabel是iOS开发中常用的一个组件,主要用来显示内容. UILabel的主要使用如下: ? 1 2 3 4 5 6 7 8 9 10 /*尺寸*/ CGRect labelRect = CGRectMake(100, 100, 80, 40); /*初始化*/ UILabel *titleLabel = [[UILabel alloc] initWithFrame:labelRect]; /*一些属性的设置*/ titleLabel.font = [UIFont systemFontOf

iOS开发之多XIB之间相互关联

Xib link Xib 1.直接加载xib中的UIView 创建一个View1.xib, 随便设一个背景色,加一个标识UILabel, 这样好知道是这个view是哪一个view. 你可以在这个view上加作意的subview,我只是说明原理,所以这儿并没有加作何subview. 最终我的View1如下图: 由于View1会放到其它View上作为subview,所以这儿size是Freeform, Status Bar是:None. 将下面代码放到viewDidLoad中: &1这行代码就是加载