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

Posted 纠结的哈士奇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于iOS 在tableview的侧滑事件里执行tableView.selectRow无效的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

swift tableview 侧滑删除

侧滑回退的layout(类似IOS侧滑回退到上一个activity)

自定义侧滑菜单

iOS开发:UINavigationController自定义返回按钮,系统导航支持侧滑返回

iOS解决嵌套在ScrollView中的TableView滑动手势冲突问题

侧滑回退的layout(类似IOS侧滑回退到上一个activity)