解决办法:当ios8 编辑删除状态不点击"删除"按钮点击其他位置,页面会进入此tableView:canEditRowAtIndexPath方法(低版本不会进入此方法);判断列表最后一项,tableView.isEditing == NO ;tableView 处于编辑状态 时让列表刷新(reloadData)(图片三--->图片一)
- (void)viewDidLoad
{
[super viewDidLoad];
UIBarButtonItem *barBtnItemRight = [[UIBarButtonItem alloc]initWithTitle:@"删除"
style:UIBarButtonItemStyleDone
target:self
action:@selector(edit:)];
self.navigationItem.rightBarButtonItem = barBtnItemRight;
[barBtnItemRight release];
}
-(void)edit:(id)sender{
if ([self.navigationItem.rightBarButtonItem.title isEqualToString:@"查看"]) {
self.navigationItem.rightBarButtonItem.title = @"删除";
[self.dataTableView setEditing:NO animated:YES];
}else{
self.navigationItem.rightBarButtonItem.title = @"查看";
[self.dataTableView setEditing:YES animated:YES];
}
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
dispatch_async(dispatch_get_main_queue(), ^{
[self.dataTableView reloadData];
});
});
}
-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// ios8 编辑删除状态不点击"删除"按钮会进入此方法;判断列表最后一项,tableView.isEditing == NO ;tableView 处于编辑状态 时列表 刷新(reloadData)
if (indexPath.row+1 == self.listArray.count&&!tableView.isEditing && [self.navigationItem.rightBarButtonItem.title isEqualToString:@"查看"]) {
[self edit:nil];
}
return YES;
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[self.dataTableView setEditing:NO animated:NO];
}
ios 8 UITableView 编辑删除状态不点击“删除”,页面假死临时解决方案
原文:http://blog.csdn.net/fengshi_sh/article/details/42519957