第1个回答 2016-07-19
1实现tableview的下拉刷新23tableview滑动就会触发这个方法?4*/5-(void)tableView:(UITableView*)tableViewwillDisplayCell:(UITableViewCell*)cellforRowAtIndexPath:(NSIndexPath*)indexPath6{7//当tableview下拉到最后一行的时候才触发8if(indexPath.row==self.m_data.count-1){910//定义一个UIView11UIView*footSpinnerView=[[UIViewalloc]initWithFrame:CGRectMake(0.0f,0.0f,320.0f,60.0f)];1213//顶一个有刷新图标的view14UIActivityIndicatorView*activity=[[UIActivityIndicatorViewalloc]initWithFrame:CGRectMake(130.0f,0.0f,60.0f,60.0f)];15activity.color=[UIColorredColor];16[activitystartAnimating];//启动有刷新图标的view1718footSpinnerView.backgroundColor=[UIColorgrayColor];19[footSpinnerViewaddSubview:activity];2021//设置footerview22self.myTableView.tableFooterView=footSpinnerView;2324//self.myTableView.tableHeaderView=footSpinnerView;2526dispatch_queue_tqueue=dispatch_queue_create("myqueue",nil);2728//在后台线程添加数据29dispatch_async(queue,^(void){3031[self.m_dataaddObject:@"1000"];32[self.m_dataaddObject:@"1001"];33[self.m_dataaddObject:@"1002"];34[self.m_dataaddObject:@"1003"];35[self.m_dataaddObject:@"1004"];3637});3839//添加完数据就重新加载数据40dispatch_async(queue,^(void){4142sleep(2);43dispatch_sync(dispatch_get_main_queue(),^(void){4445[self.myTableViewreloadData];46});47});4849//[self.myTableViewreloadData];50dispatch_release(queue);51[footSpinnerViewrelease];52[activityrelease];53}54//elseif(indexPath.row==0){55//56//UIView*footSpinnerView=[[UIViewalloc]initWithFrame:CGRectMake(0.0f,0.0f,320.0f,60.0f)];57//UIActivityIndicatorView*activity=[[UIActivityIndicatorViewalloc]initWithFrame:CGRectMake(130.0f,0.0f,60.0f,60.0f)];58//activity.color=[UIColorredColor];59//[activitystartAnimating];60//61//footSpinnerView.backgroundColor=[UIColorgrayColor];62//[footSpinnerViewaddSubview:activity];63//64////self.myTableView.tableFooterView=footSpinnerView;65//66//self.myTableView.tableHeaderView=footSpinnerView;67//68//dispatch_queue_tqueue=dispatch_queue_create("myqueue",nil);69//70//dispatch_async(queue,^(void){71//72//[self.m_datainsertObject:@"1000"atIndex:0];73////[self.m_dataaddObject:@"1001"];74////[self.m_dataaddObject:@"1002"];75////[self.m_dataaddObject:@"1003"];76////[self.m_dataaddObject:@"1004"];77////[self.m_datainsertObject:[NSArrayarrayWithObject:@"01"]atIndex:0];78//79//});80//81//dispatch_async(queue,^(void){82//83//sleep(2);84//dispatch_sync(dispatch_get_main_queue(),^(void){85//86//[self.myTableViewreloadData];87//[self.myTableViewscrollToRowAtIndexPath:[indexPathinitWithIndex:3]atScrollPosition:UITableViewScrollPositionNoneanimated:YES];88//});89//});90//91//92//dispatch_release(queue);93//[footSpinnerViewrelease];94//[activityrelease];95//}9697//如果不是最后一行,则把footerview和headerview都设为nil98else99{100self.myTableView.tableFooterView=nil;101self.myTableView.tableHeaderView=nil;102}103}本回答被网友采纳