tableView集成(上拉+下拉)刷新

来源:互联网 发布:淘宝卖家登入 编辑:程序博客网 时间:2024/06/11 03:33

#import "UIScrollView+MJRefresh.h"


NSString *const flag = @"cell";


@interfacemainViewController ()

@property (strongnonatomicNSMutableArray *fakeData;

@end


@implementation mainViewController

/**

 *  数据的懒加载

 */

- (NSMutableArray *)fakeData{

  if (!_fakeData) {

    self.fakeData = [NSMutableArrayarray];

    

    for (int i = 0; i<12; i++) {

      [self.fakeDataaddObject:[Bdx_notegetDict]];

    }

  }

  return_fakeData;

}


- (void)viewDidLoad {

  [superviewDidLoad];

  

  [selfcreateMainView];

  

  // 1.注册cell

  [self.tableViewregisterClass:[UITableViewCellclassforCellReuseIdentifier:flag];

  // 2.集成刷新控件

  [selfsetupRefresh];

}


-(void)viewWillAppear:(BOOL)animated{

  self.navigationController.navigationBarHidden = YES;

}


#pragma mark -tableView

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{

  return0.1;

}

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{

  return0.1;

}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

  returnself.fakeData.count;

}

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:flagforIndexPath:indexPath];

  [selfcreateCellView:indexPath tableViewCell:cell];

  cell.backgroundColor = [UIColorclearColor];

  cell.selectionStyle = UITableViewCellSelectionStyleNone;

  return cell;

}


#pragma mark -refresh

-(void)setupRefresh{

  // 1.下拉刷新(进入刷新状态就会调用selfheaderRereshing)

  [_tableViewaddHeaderWithTarget:selfaction:@selector(headerRereshing)];

  //自动刷新(一进入程序就下拉刷新)

  //[self.OrderTableView headerBeginRefreshing];

  // 设置文字

  _tableView.headerPullToRefreshText = @"下拉可以刷新了";

  _tableView.headerReleaseToRefreshText = @"松开马上刷新了";

  _tableView.headerRefreshingText = @"正在刷新";

  

  [_tableViewaddFooterWithTarget:selfaction:@selector(footerRereshing)];

  _tableView.footerPullToRefreshText = @"上拉可以加载更多数据了";

  _tableView.footerReleaseToRefreshText = @"松开马上加载更多数据了";

  _tableView.footerRefreshingText = @"正在加载中";

}


-(void)headerRereshing{

  // 1.添加假数据

  for (int i = 0; i<5; i++) {

    [self.fakeData insertObject:[Bdx_note getDictatIndex:0];

  }

  // 2.2秒后刷新表格UI

  dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

    // 刷新表格

    [_tableViewreloadData];

    // (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态

    [_tableViewheaderEndRefreshing];

  });

}


-(void)footerRereshing{

  // 1.添加假数据

  for (int i = 0; i<5; i++) {

    [self.fakeDataaddObject:[Bdx_notegetDict]];

  }

  // 2.2秒后刷新表格UI

  dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

    // 刷新表格

    [self.tableViewreloadData];

    // (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态

    [self.tableViewfooterEndRefreshing];

  });

}


#pragma mark -initView

-(void)createMainView{

  UIView *mainView = [[UIViewalloc]initWithFrame:[UIScreen mainScreen].bounds];

  mainView.backgroundColor = [UIColor colorWithRed:182/255.0green:224/255.0blue:104/255.0alpha:1.0];

  self.view = mainView;

  

  UIImageView *signal = [[UIImageViewalloc]initWithImage:[UIImage imageNamed:@"设备信号-0.png"]];

  signal.frame = CGRectMake(UISCREEN_WIDTH-50303030);

  signal.userInteractionEnabled = YES;

  signal.backgroundColor = [UIColor clearColor];

  [mainView addSubview:signal];

  

  _tableView = [[UITableView alloc]initWithFrame:CGRectMake(070UISCREEN_WIDTHUISCREEN_HEIGHT-114style:UITableViewStylePlain];

  _tableView.backgroundColor = [UIColor clearColor];

  _tableView.delegate = self;

  _tableView.dataSource = self;

  _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

  [mainView addSubview:_tableView];

}


-(void)createCellView:(NSIndexPath*)indexPath tableViewCell:(UITableViewCell*)cell{

  cell.textLabel.text = [NSString stringWithFormat:@"%@",[NSDatedate]];

}

@end




0 0