点击UITableViewcell 弹出AlertController出现延迟问题

    xiaoxiao2022-06-30  71

    设备介绍:Xcode 7.3.1   模拟器 iPhone5~6p  项目有用到第三方侧滑

    问题:在didSelectRowAtIndexPath 里写点击 弹出AlertController; 第一次点击cell 很顺畅的弹出AlertController,第二次延迟了2~3秒弹出(假如双击,也会很顺畅的弹出)

    解决:

    1.在网上查了,很多人说把cell 的selectionStyle 属性设为NO即cell.selectionStyle = UITableViewCellSelectionStyleNone; 可以解决,但是我的项目并没有得到解决。。

    尝试方法1:我把项目拷给我朋友,在他的电脑上运行,没有出现延迟情况。

    所以有了猜测1:电脑问题,我用的是 mac mini(这破电脑经常出问题) 他用的是mac pro。但是可以排除xcode和模拟器的锅,因为我俩用的模拟器和xcode都一样

    尝试方法2:我自己写了个简单的demo(一个页面+UITableView),同样做了点击cell弹出AlertController。奇怪的是,并没有没有延迟。

     

    于是有了猜想2:可能是我项目中用了第三方的侧滑菜单(类似于滴滴打车)。查了网上了很多信息,大部分人用到第三方侧滑 都会出现这个问题。

    于是乎,基本确定是第三方侧滑导致的延迟。。但还是没有办法解决(恕我才疏学浅)。

    后来尝试在didSelectRowAtIndexPath的方法里写了一个方法[tableView deselectRowAtIndexPath:indexPath animated:NO];问题就得到解决了(如下图:)

    注意:animated 必须设为NO(我也不造为什么,反正设为YES 没效果)

     

    虽然不延迟了,但是我感觉问题没有真正得到解决,因为还有另外一个问题:当我点击cell时(无论AlertController延迟与否),控制台都会输出

    pushViewController:animated: called on <UINavigationController 0x7ff999875e00> while an existing transition or presentation is occurring; the navigation stack will not be updated.

    如下图:

     

    我感觉这才是真正的问题所在,但是我现在没办法解决!! 先写下这篇博客,以后有办法了再回来更。。或者哪位大神有解决办法请告知与我,谢谢!! QQ:1296460793 邮箱1296460793@qq.com (请备注,谢谢)

     

     

    转载请注明原文地址: https://ju.6miu.com/read-1126001.html

    最新回复(0)