iOS 在tableview的侧滑事件里执行tableView.selectRow无效的解决办法

很奇怪的问题,在执行默认选中一个cell的时候,突然发现这句话不起作用了

(我的场景是:当前cell侧滑删除后,默认选中上一个cell)

搞了半天,终于发现罪魁祸首竟然是因为:这句话写在了侧滑事件的方法里。

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
     //..... 执行tableView.selectRow无效
}

试了几次,在正常函数体里执行这句话,都是正常的,在这里就是无效。

原因暂时没想到,猜测就是因为侧滑后cell恢复的系统事件阻塞了这句话执行

临时解决办法:

1、转移这句话的执行地方

2、加一个延时处理

我用的第二个解决办法,延后了0.5s执行,发现没问题了。

知道原因的小伙伴欢迎留言告知下~3Q

原文地址:https://www.cnblogs.com/yajunLi/p/8496650.html

时间: 2024-10-28 11:52:58

iOS 在tableview的侧滑事件里执行tableView.selectRow无效的解决办法的相关文章

在windows中的DOS窗口执行adb shell出错的解决办法

1,首先要检查是否已经配置好环境变量或者在platform-tools目录(adb.exe存在的路径)下执行的adb shell 2,步骤1没问题的话,那么运行:adb kill-server 再执行:adb shell 好了,问题解决(PS:反正我的解决了) 在windows中的DOS窗口执行adb shell出错的解决办法,布布扣,bubuko.com

iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法

http://www.tuicool.com/articles/IfEZre 今天写demo的时候发现, 如果把通过相机获取到的图片,直接进行操作, 比如裁剪, 缩放, 则会把原图片向又旋转90度. 刚开始觉得莫名其妙, 不知所措. 后来百度了一下,找到了解决办法. ps: 查找过程中, 碰到了一种说法: //get original photo from iOS photos //如果该图片大于2M,会自动旋转90度:否则不旋转 UIImage* originalImg=[dict objec

iOS注册远程推送消息证书后提示此证书签发者无效的解决办法

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们在编写关于远程推送消息的App时需要注册一个相关的证书,我们可以到Apple开发网站的Certificates, Identifiers & Profiles页面首先创建一个App ID. 其中进入Push Notifications选项,并且在其子项Development SSL Certificate中选择创建证书(因为该证书是调试用的,所以在Deve

crontab 执行python脚本不成功解决办法

原因:从crontab日志看执行了脚本,但是python脚本没有执行结果,而且手动执行脚本没有问题 解决办法: * * * * * $HOME/.bash_profile;/usr/bin/python /data/script/python/project/backup.py

eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法

当使用eclipse导入外部的web工程时,有时会提示HttpServletRequest, ServletActionContext找不到的情况,解决办法:(注:我已经引用了struts2的jar包,classpath有,但eclipse就不认识,提示我去配buildpath,很怪异)----------------------------------------------------------------------------------------------------选中项目--

gridview中单元格button的点击事件和onitemclick点击冲突及解决办法

如果是listview的onitemclick的点击事件与子button的点击事件冲突,很多人都知道通过对listview设置android:descendantFocusability="blocksDescendants",以及对button设置android:focus="false",来屏蔽button的焦点以及点击事件从而解决冲突.然而不幸的是,本人今天对类似的gridview设置此项属性,亲测并没有什么用. 解决办法是有的,例如把button改为text

java执行shell命令,chmod 777 xxx,改变权限无效的解决办法。

在java程序中执行shell命令,改变文件的权限,可以在命令行中执行 chmod 777 <span style="font-family: Arial, Helvetica, sans-serif;">/data/misc/123.sh"</span> 来改变权限,但是在java代码中执行这个命令时使用 Runtime.getRuntime().exec("chmod 777 /data/misc/123.sh"): 无效,使用

关于jQuery中,animate、slide、fade等动画的连续触发、滞后反复执行的bug的个人解决办法

照例,现在开头讲个这个问题发生的背景吧: 因为最近要做个操作选项的呼出,然后就想到了用默认隐藏,鼠标划过的时候显示的方法. 刚开始打算添加一个class="active",直接触发mouseover(或者mouseenter)的时候add,mouseout(或者mouseleave)的时候remove,这个解决方法很简单,也很实用,但是体验上可能不是那么酷炫(好吧,这个词用的,瞬间感觉好low啊),所以就想到了用animate或者slide这些jQuery的动画,然后一开始讲真,这个插

ios为了用户隐私安全,禁止自动播放音频文件的解决办法(微信端)

ios为了用户隐私安全,禁止自动播放音频文件 //通过参数给音频设置id和路径 utils = { playAudio: function (id, src) { var audio = $('#' + id); if (audio.attr('src') == undefined) { audio.attr('src', src); } //audio[0].play(); function audioAutoPlay() { audio[0].play(); document.addEven