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

【转】
- (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 删除一行后下一行点击事件被忽略

时间: 2024-08-05 10:40:25

tableView 删除一行后下一行点击事件被忽略的相关文章

table点击一行显示下一行的特效

效果体验:http://sandbox.runjs.cn/show/rw4vq8zo <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> .bordertable {width:100%;border-collapse: collapse;color: #707070;background:

百度地图 Infowidow 内容(content 下标签) 点击事件

需要监听 infowindow 的打开事件 ,查看InfoWindow API  实现 html 点击效果 代码 var infoWindow = that.createDangerInfoWindow(jsonData); infoWindow.addEventListener("open", function() { $(".basic-ul li").click(function () { alert("aa"); $(this).css(

Asp.net_解决在高版本ie浏览器下按钮点击事件不触发

这是微软的一个兼容bug,通过服务器补丁方式解决. 没有此修补程序时出现的常见问题 请考虑下面的方案: 您可以使用 Windows Internet Explorer 10 来访问基于 ASP.NET 网页. 该网页启动回发. 在此方案中,回发发生故障,并且您会收到以下错误消息: 脚本遇到错误","'__doPostBack' 未定义 补丁下载: .NET 4 - http://support.microsoft.com/kb/2600088 .NET 2.0&3.5 - ht

JS如何给ul下的所有li绑定点击事件,点击使其弹出下标和内容

这是一个非常常见的面试题,出题方式多样,但考察点相同,下面我们来看看这几种方法:方法一: var itemli = document.getElementsByTagName("li"); for(var i = 0; i<itemli.length; i++){ itemli[i].index = i; //给每个li定义一个属性索引值 itemli[i].onclick = function(){ alert(this.index+this.innerHTML); } } 方

setSystemUiVisibility()后popupWindow以及view的第一次点击事件丢失

在view中设置setSystemUiVisibility()后view的点击事件第一次会丢失,解决方案: setOnSystemUiVisibilityChangeListener(new OnSystemUiVisibilityChangeListener() { @Override public void onSystemUiVisibilityChange(int visibility) { if ((visibility & SYSTEM_UI_FLAG_HIDE_NAVIGATION

JS: javascript 点击事件执行两次js问题 ,解决jquery绑定click事件出现点击一次执行两次问题

javascript 点击事件执行两次js问题 在JQuery中存在unbind()方法,先解绑再添加点击事件,解决方案为: $(".m-layout-setting").unbind('click').click(function(){ //此处填写逻辑代码 }) ------ 因为利用js在页面加载后添加需要点击事件的代码,发现在点击后会代码会执行两次,因为有toggle效果,导致弹窗出现又很快丢失 查了一些资料,发现这是冒泡的原因,需要在点击事件代码中加入阻止冒泡的方法: e.s

ListActivity的Item长按事件与点击事件

一.设置长按响应事件 在onCreate方法中添加下面代码: this.getListView().setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub Toast.mak

点击事件内嵌点击事件造成多次绑定

如果一个点击事件内部有另外一个点击事件,如下 $(function(){ $("#btn1").click(function() { console.log("outside"); $("#btn2").click(function() { console.log("inside"); }); }); }); 这样,在每次点击外部的点击事件后,内部的点击事件就会多次绑定,造成事件的重复触发,这是容易出错的一点. 如果必须要写成

IOS7 UITableView一行滑动删除后 被删除行的下一行的点击事件将被忽略解决办法

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {     returnUITableViewCellEdit