iOS开发--常用技巧 (MJRefresh详解)
2016-09-09 15:41
316 查看
[b] iOS开发--常用技巧 (MJRefresh详解)[/b]
![](https://camo.githubusercontent.com/15577b87be4403d9e2ede4d5cd5b9fccbd1d03ae/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230343334333438363135312e676966)
![](https://camo.githubusercontent.com/911191d46157ea3961728b16696aea4440ffeb92/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230343430323233383338392e676966)
![](https://camo.githubusercontent.com/c32d67233572a1d3a8bd3a5214dde01ab8832db7/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230343435363133323934342e676966)
![](https://camo.githubusercontent.com/364bc1e09f3b8676d26a73fccdeac4de542c35d3/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230343530383633393533392e676966)
![](https://camo.githubusercontent.com/c30102c6bd5484610365a1d3d3c12681b0ed7a99/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230343536333633333539332e676966)
![](https://camo.githubusercontent.com/f74e3bd56a693484af7d7e6e300f51c3f8519125/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230353031393236313135392e676966)
![](https://camo.githubusercontent.com/3f7d369a043457a3fcb0df2c6e0a2ea36038be61/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230353039303034373639362e676966)
![](https://camo.githubusercontent.com/ab905efc2099a577985ba0a1de6f051fdecfde54/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230353134313434353739332e676966)
![](https://camo.githubusercontent.com/4772eed28dc18a8e6509ba794253ab1b41a82ebb/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230353230303938353737342e676966)
![](https://camo.githubusercontent.com/eb4f2b7ef02210bbaaf1f37152e6c1f6dffd1ab8/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230353234383633343638362e676966)
![](https://camo.githubusercontent.com/70889343afd791377f15818115a14403526b4334/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230353239353531313135332e676966)
![](https://camo.githubusercontent.com/42a0be4a7bf7676ba476554775fc3bccd617b1c1/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230353334333438313832312e676966)
![](https://camo.githubusercontent.com/2e4c3f3fc477e26f01c4c04328e665036a94d4ad/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230353339323233393233312e676966)
![](https://camo.githubusercontent.com/f07cb339c675ff9b5f371856c1c9c07f597c9022/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230353434313434333632382e676966)
![](https://camo.githubusercontent.com/6624420a6f5856c91065d91b3c33e8be43626f8a/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230353530303139353836362e676966)
![](https://camo.githubusercontent.com/3bb6216814564a25ce29325ff4ebcf104d500877/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230353536303636363831392e676966)
![](https://camo.githubusercontent.com/38e09f52d83704da5c00f99c728896260d4aee98/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230363032313630333735382e676966)
![](https://camo.githubusercontent.com/97837846aa618b1e05d6c3a523555311f0daa168/687474703a2f2f696d61676573302e636e626c6f67732e636f6d2f626c6f67323031352f3439373237392f3230313530362f3134313230363038303531343532342e676966)
[b]https://github.com/CoderMJLee/MJRefresh[/b]
下拉刷新01-默认
self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ // 进入刷新状态后会自动调用这个block }]; 或 // 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadNewData方法) self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)]; // 马上进入刷新状态 [self.tableView.header beginRefreshing];
下拉刷新02-动画图片
// 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadNewData方法) MJRefreshGifHeader *header = [MJRefreshGifHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)]; // 设置普通状态的动画图片 [header setImages:idleImages forState:MJRefreshStateIdle]; // 设置即将刷新状态的动画图片(一松开就会刷新的状态) [header setImages:pullingImages forState:MJRefreshStatePulling]; // 设置正在刷新状态的动画图片 [header setImages:refreshingImages forState:MJRefreshStateRefreshing]; // 设置header self.tableView.mj_header = header;
下拉刷新03-隐藏时间
// 隐藏时间 header.lastUpdatedTimeLabel.hidden = YES;
下拉刷新04-隐藏状态和时间
// 隐藏时间 header.lastUpdatedTimeLabel.hidden = YES;
// 隐藏状态
header.stateLabel.hidden = YES;
下拉刷新05-自定义文字
// 设置文字 [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];
下拉刷新06-自定义刷新控件
self.tableView.mj_header = [MJDIYHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)]; // 具体实现参考MJDIYHeader.h和MJDIYHeader.m
上拉刷新01-默认
self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{ // 进入刷新状态后会自动调用这个block }]; 或 // 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadMoreData方法) self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];
上拉刷新02-动画图片
// 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadMoreData方法) MJRefreshAutoGifFooter *footer = [MJRefreshAutoGifFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)]; // 设置刷新图片 [footer setImages:refreshingImages forState:MJRefreshStateRefreshing]; // 设置尾部 self.tableView.mj_footer = footer;
上拉刷新03-隐藏刷新状态的文字
// 隐藏刷新状态的文字 footer.refreshingTitleHidden = YES; // 如果没有上面的方法,就用footer.stateLabel.hidden = YES;
上拉刷新04-全部加载完毕
// 变为没有更多数据的状态 [footer endRefreshingWithNoMoreData];
上拉刷新05-自定义文字
// 设置文字 [footer setTitle:@"Click or drag up to refresh" forState:MJRefreshStateIdle]; [footer setTitle:@"Loading more ..." forState:MJRefreshStateRefreshing]; [footer setTitle:@"No more data" forState:MJRefreshStateNoMoreData]; // 设置字体 footer.stateLabel.font = [UIFont systemFontOfSize:17]; // 设置颜色 footer.stateLabel.textColor = [UIColor blueColor];
上拉刷新06-加载后隐藏
// 隐藏当前的上拉刷新控件 self.tableView.mj_footer.hidden = YES;
上拉刷新07-自动回弹的上拉01
self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];
上拉刷新08-自动回弹的上拉02
MJRefreshBackGifFooter *footer = [MJRefreshBackGifFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)]; // 设置普通状态的动画图片 [footer setImages:idleImages forState:MJRefreshStateIdle]; // 设置即将刷新状态的动画图片(一松开就会刷新的状态) [footer setImages:pullingImages forState:MJRefreshStatePulling]; // 设置正在刷新状态的动画图片 [footer setImages:refreshingImages forState:MJRefreshStateRefreshing]; // 设置尾部 self.tableView.mj_footer = footer;
上拉刷新09-自定义刷新控件(自动刷新)
self.tableView.mj_footer = [MJDIYAutoFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)]; // 具体实现参考MJDIYAutoFooter.h和MJDIYAutoFooter.m
上拉刷新10-自定义刷新控件(自动回弹)
self.tableView.mj_footer = [MJDIYBackFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)]; // 具体实现参考MJDIYBackFooter.h和MJDIYBackFooter.m
UICollectionView01-上下拉刷新
// 下拉刷新 self.collectionView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ // 进入刷新状态后会自动调用这个block }]; // 上拉刷新 self.collectionView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{ // 进入刷新状态后会自动调用这个block }];
UIWebView01-下拉刷新
// 添加下拉刷新控件 self.webView.scrollView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ // 进入刷新状态后会自动调用这个block }];
提醒
本框架纯ARC,兼容的系统>=iOS6.0、iPhone\iPad横竖屏相关文章推荐
- iOS开发--常用技巧 (MJRefresh详解)
- iOS开发--常用技巧 (MJRefresh详解)
- IOS开发中 常用调试技巧
- iOS开发 - FMDB常用方法详解
- iOS开发之常用知识储备与开发技巧总结篇
- iOS开发之Xcode常用调试技巧总结
- iOS开发之-收集的不常用却实用的小方法和技巧
- iOS开发的22个常用技巧
- iOS开发中常用但经常忘记的技巧
- iOS 常用开发及技巧
- iOS开发常用小技巧记录(持续更新)
- iOS开发之Xcode常用调试(Debug)技巧总结
- IOS开发第二讲 基本数据类型 类的新建 一些常用技巧
- iOS网络开发编程之NSURLConnection详解 iOS网络层常用的库如ASIHTTPRequest,AFNetworking,MKNetworkKit等知名的第三方库。随着ASI不再更新,楼主
- iOS 开发中常用知识点和技巧
- ios开发常用的技巧
- IOS开发系列——UIView专题之五:常用开发技巧篇
- ios storyboadr(sizeClass)开发常用技巧及错误
- iOS开发--常用技巧 (Cocoa Pods 使用)
- iOS开发之-收集的不常用却实用的小方法和技巧