码迷,mamicode.com
首页 > 其他好文 > 详细

tableView 删除一行后下一行点击事件被忽略

时间:2014-05-01 11:57:48      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:style   class   string   int   cti   table   load   com   app   for   代码   

【转】
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { returnUITableViewCellEditingStyleDelete; } - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { [self.items removeObjectAtIndex:indexPath.row]; [tableView reloadData]; } } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"Row %@ tapped.", self.items[indexPath.row]); } 在ios6环境下,上段代码运行正常。但是在ios7环境下,我做了如下操作:当tableview中的一行被删除并更新tablview后,被删除行的下一行的点击事件将被忽略,导致点击该行无反应(双击才有反应)。很奇怪是不是,下面将解释原因。 当tableview中的某行被选中删除后,tableview将处于编辑(editing)状态,所以你需要将tableview中的状态更换成选择(selection)模式,更改代码如下: - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { [self.items removeObjectAtIndex:indexPath.row]; // Turn off editing state here tableView.editing = NO; [tableView reloadData]; } }

tableView 删除一行后下一行点击事件被忽略,布布扣,bubuko.com

tableView 删除一行后下一行点击事件被忽略

标签:style   class   string   int   cti   table   load   com   app   for   代码   

原文地址:http://www.cnblogs.com/wuwangchuxin/p/3701360.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!