实现tableview的下拉刷新
推荐第三方下拉刷新代码http://code4app.com/ios/快速集成下拉上拉刷新/52326ce26803fabc46000000
tableview滑动就会触发这个方法?
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
//当tableview下拉到最后一行的时候才触发
if (indexPath.row == self.m_data.count - 1) {
//定义一个UIView
UIView *footSpinnerView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 60.0f)];
//顶一个有刷新图标的view
UIActivityIndicatorView *activity = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(130.0f, 0.0f, 60.0f, 60.0f)];
activity.color = [UIColor redColor];
[activity startAnimating];//启动有刷新图标的view
footSpinnerView.backgroundColor = [UIColor grayColor];
[footSpinnerView addSubview:activity];
//设置footerview
self.myTableView.tableFooterView = footSpinnerView;
// self.myTableView.tableHeaderView = footSpinnerView;
dispatch_queue_t queue = dispatch_queue_create("my queue", nil);
//在后台线程添加数据
dispatch_async(queue, ^(void){
[self.m_data addObject:@"1000"];
[self.m_data addObject:@"1001"];
[self.m_data addObject:@"1002"];
[self.m_data addObject:@"1003"];
[self.m_data addObject:@"1004"];
});
//添加完数据就重新加载数据
dispatch_async(queue, ^(void) {
sleep(2);
dispatch_sync(dispatch_get_main_queue(), ^(void){
[self.myTableView reloadData];
});
});
// [self.myTableView reloadData];
dispatch_release(queue);
[footSpinnerView release];
[activity release];
}
}
转载于:https://www.cnblogs.com/fshmjl/p/4870383.html