MJRefresh使用記錄(1)

記錄MJRefresh學習,比較基礎,大神請繞路

MJRefresh 最新版3.1.10目錄如下(繼承關係)


使用:

1、cocoa pod導入MJRefresh框架

在ViewController裏創建一個tableView設置代理等

self.tableView = [[UITableView alloc]initWithFrame:self.view.frame];
self.tableView.delegate = self;
self.tableView.dataSource = self;
[self.view addSubview:self.tableView];


2.刷新

第一種:

//用MJRefreshStateHeader刷新
- (void)reFreshStateHeader{
    MJRefreshStateHeader *header = [MJRefreshStateHeader headerWithRefreshingBlock:^{
        NSLog(@"刷新");
        [self performSelector:@selector(delayFunction) withObject:self afterDelay:3.f];
    }];
    /**
     MJRefreshStateIdle = 1,     普通閒置狀態
     MJRefreshStatePulling,      鬆開就可以進行刷新的狀態
     MJRefreshStateRefreshing,   正在刷新中的狀態
     MJRefreshStateWillRefresh,  即將刷新的狀態
     MJRefreshStateNoMoreData    所有數據加載完畢,沒有更多的數據了
     */
    //常用下面三種提示
    [header setTitle:@"普通閒置狀態" forState:MJRefreshStateIdle];
    [header setTitle:@"鬆開就可以進行刷新的狀態" forState:MJRefreshStatePulling];
    [header setTitle:@"正在刷新中的狀態" forState:MJRefreshStateRefreshing];
    //    [header setTitle:@"即將刷新的狀態" forState:MJRefreshStateWillRefresh];
    //    [header setTitle:@"所有數據加載完畢,沒有更多的數據了" forState:MJRefreshStateNoMoreData];
    
    self.tableView.mj_header = header;
}
可以調整刷新提示的位置和內容

/** 文字距離圈圈、箭頭的距離 */
@property (assign, nonatomic) CGFloat labelLeftInset;
/** 顯示刷新狀態的label */
@property (weak, nonatomic, readonly) UILabel *stateLabel;
/** 設置state狀態下的文字 */
- (void)setTitle:(NSString *)title forState:(MJRefreshState)state;

第二種

//用MJRefreshNormalHeader
- (void)refreshNormalHeader{
    MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
        NSLog(@"正在刷新中。。。");
        [self performSelector:@selector(delayFunction) withObject:self afterDelay:3.f];
    }];[header setTitle:@"普通閒置狀態" forState:MJRefreshStateIdle];
    [header setTitle:@"鬆開就可以進行刷新的狀態" forState:MJRefreshStatePulling];
    [header setTitle:@"正在刷新中的狀態" forState:MJRefreshStateRefreshing];
    /*
     UIActivityIndicatorViewStyleWhiteLarge,
     UIActivityIndicatorViewStyleWhite,
     UIActivityIndicatorViewStyleGray __TVOS_PROHIBITED,
     */
    header.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;//設置菊花的樣式
    self.tableView.mj_header = header;
}

第三種

//用MJRefreshGifHeader
- (void)refreshGiflHeader{
     MJRefreshGifHeader *header = [MJRefreshGifHeader headerWithRefreshingBlock:^{
        NSLog(@"正在刷新中。。。");
        [self performSelector:@selector(delayFunction) withObject:self afterDelay:3.f];
    }];
    [header setTitle:@"普通閒置狀態" forState:MJRefreshStateIdle];
    [header setTitle:@"鬆開就可以進行刷新的狀態" forState:MJRefreshStatePulling];
    [header setTitle:@"正在刷新中的狀態" forState:MJRefreshStateRefreshing];
    self.tableView.mj_header = header;
}


//設置動畫顯示 images數組存放順序播放的圖片 


- (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state;
- (void)setImages:(NSArray *)images forState:(MJRefreshState)state;


還有一些屬性

//    header.lastUpdatedTimeLabel.hidden = YES;//隱藏時間
//    header.stateLabel.hidden = YES;//隱藏狀態




發佈了38 篇原創文章 · 獲贊 19 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章