EGOTableViewPullRefresh 下拉刷新

简单的本地下拉刷新 添加数据  这里只做刷新演示  请结合你自己的网络请求

///请先写代理 初始化 引入EGOTableViewPullRefresh包
- (void)viewDidLoad
{
    [super viewDidLoad];
    
    self.navigationController.navigationBar.translucent = NO;
    self.edgesForExtendedLayout = UIRectEdgeNone;
    
    _dataArray = [[NSMutableArray alloc] initWithObjects:@"Jordan", @"Mic", @"James", @"Miller", @"John", nil];
    
    _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460) style:UITableViewStylePlain];
    _tableView.delegate = self;
    _tableView.dataSource = self;
    [self.view addSubview:_tableView];
    [_tableView release];
    
    _refreshView = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0, -460, 320, 460)];
    _refreshView.delegate = self;
    [_tableView addSubview:_refreshView];
    [_refreshView release];
}

//下载完成
- (void)refresh{
    [_dataArray addObject:@"new player"];
    [_tableView reloadData];
    //结束刷新
    [_refreshView egoRefreshScrollViewDataSourceDidFinishedLoading:_tableView];
    _isRefresh = NO;
}

//ego delegate
//触发刷新
- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView *)view{
    //这里一般是网络请求
    _isRefresh = YES;
    //刷新操作
    [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(refresh) userInfo:nil repeats:NO];
}

//告诉refreshView现在是否正在刷新
- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView *)view{
    return _isRefresh;
}

//返回当前时间
- (NSDate *)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView *)view{
    return [NSDate date];
}

//scrollView delegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    [_refreshView egoRefreshScrollViewDidScroll:scrollView];
}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
    [_refreshView egoRefreshScrollViewDidEndDragging:scrollView];
}

//tableView delegate
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return _dataArray.count;
}

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"ID"];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"ID"] autorelease];
    }
    
    cell.textLabel.text = [_dataArray objectAtIndex:indexPath.row];
    
    return cell;
}


你可能感兴趣的:(下拉刷新)