MJRefresh遇到的坑

如何让提示文字居中,图片变成动画

一. 新旧版本比较

旧版本使用说明

#import "UIScrollView+MJRefresh.h"
/**
 MJ友情提示:
 1. 添加头部控件的方法
 [self.tableView addHeaderWithTarget:self action:@selector(headerRereshing)];
 或者
 [self.tableView addHeaderWithCallback:^{ }];
 2. 添加尾部控件的方法
 [self.tableView addFooterWithTarget:self action:@selector(footerRereshing)];
 或者
 [self.tableView addFooterWithCallback:^{ }];
 3. 可以在MJRefreshConst.h和MJRefreshConst.m文件中自定义显示的文字内容和文字颜色
 4. 本框架兼容iOS6\\\\iOS7,iPhone\\\\iPad横竖屏
 5.自动进入刷新状态
 1> [self.tableView headerBeginRefreshing];
 2> [self.tableView footerBeginRefreshing];
 6.结束刷新
 1> [self.tableView headerEndRefreshing];
 2> [self.tableView footerEndRefreshing];
 */

新版本介绍version= '3.1.5',2016-06-13
1.添加前缀mj_;
2.支持国际化zh-Hans(简体中文),zh-Hant(繁体中文),en(英文)
3.可以自定义刷新控件
4.更加自由化,支持文字,图片,GIF等混合搭配(有点扯

最新的MJRefresh的GitHub仓库截图如图mj-01:

MJRefresh遇到的坑_第1张图片
图mj-01 MJRefresh的GitHub仓库截图

402808-feb3490f95661caf.png

让文字居中可以用下面这个方法,修改他的中心点                                                      #pragma mark -UIScrollViewDelegate                                                           -(void)scrollViewDidScroll:(UIScrollView *)scrollView{  

  1.     if (scrollView.tag == 131420) {  
  2.         MJRefreshBackNormalFooter *footView = (MJRefreshBackNormalFooter *)_tableView.mj_footer;  
  3.         footView.stateLabel.frame = CGRectMake(scrollView.contentOffset.x, footView.stateLabel.frame.origin.y, footView.stateLabel.frame.size.width, footView.stateLabel.frame.size.height);  
  4.         footView.arrowView.center = CGPointMake(footView.stateLabel.center.x - 100, footView.arrowView.center.y);  
  5.         footView.loadingView.center = CGPointMake(footView.stateLabel.center.x - 100, footView.arrowView.center.y);  
  6.         MJRefreshNormalHeader *headView = (MJRefreshNormalHeader *)_tableView.mj_header;  
  7.         headView.stateLabel.frame = CGRectMake(scrollView.contentOffset.x, headView.stateLabel.frame.origin.y, headView.stateLabel.frame.size.width, headView.stateLabel.frame.size.height);  
  8.         headView.arrowView.center = CGPointMake(headView.stateLabel.center.x - 100, headView.arrowView.center.y);  
  9.         headView.loadingView.center = CGPointMake(headView.stateLabel.center.x - 100, headView.arrowView.center.y);  
  10.         headView.lastUpdatedTimeLabel.center = CGPointMake(headView.stateLabel.center.x, headView.lastUpdatedTimeLabel.center.y);  
  11.     }  
  12. }  
  13. 说明:最好参考MJDIYHeader.m来学习,就不一一截图说明
    ① 首先创建一个类(譬如MJDIYHeader),继承自MJRefreshHeader;
    ② 重写相关方法 【 在MJRefreshComponent.h中有下面的提示】 

    #pragma mark - 交给子类们去实现
    /** 初始化 */
    #pragma mark 在这里做一些初始化配置(比如添加子控件)
    -(void)prepare NS_REQUIRES_SUPER;
    /** 摆放子控件frame */
    #pragma mark 在这里设置子控件的位置和尺寸
    -(void)placeSubviews NS_REQUIRES_SUPER;
    /** 当scrollView的contentOffset发生改变的时候调用 */
    -(void)scrollViewContentOffsetDidChange:(NSDictionary *)change NS_REQUIRES_SUPER;
    /** 当scrollView的contentSize发生改变的时候调用 */
    -(void)scrollViewContentSizeDidChange:(NSDictionary *)change NS_REQUIRES_SUPER;
    /** 当scrollView的拖拽状态发生改变的时候调用 */
    -(void)scrollViewPanStateDidChange:(NSDictionary *)change NS_REQUIRES_SUPER;


你可能感兴趣的:(IOS)