首页 > 代码库 > ios 8 UITableView 编辑删除状态不点击“删除”,页面假死临时解决方案
ios 8 UITableView 编辑删除状态不点击“删除”,页面假死临时解决方案
ios8 UITableView 中编辑删除状态(isEditing:YES)不点击“删除”按钮点击其他位置,UITableView会假死,不可滑动,点击无效而userInteractionEnabled:YES,isEditing:NO(图片三--->图片四);
而低版本(如ios5)中编辑删除状态不点击“删除” UITableView会回到编辑状态(图片三--->图片二)。
还有一点IOS8中当页面处于“图片三”状态,点击返回(回到上一个页面)程序会闪退。WTF,离开页面时将TableView编辑状态设置一下可解决这问题。
操作状态图:
而低版本(如ios5)中编辑删除状态不点击“删除” UITableView会回到编辑状态(图片三--->图片二)。
解决办法:当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; }
还有一点IOS8中当页面处于“图片三”状态,点击返回(回到上一个页面)程序会闪退。WTF,离开页面时将TableView编辑状态设置一下可解决这问题。
- (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; [self.dataTableView setEditing:NO animated:NO]; }
操作状态图:
ios 8 UITableView 编辑删除状态不点击“删除”,页面假死临时解决方案
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。