实现tableview的下拉刷新

时间:2023-11-28 20:45:32
实现tableview的下拉刷新
 推荐第三方下拉刷新代码http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/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];
}
}