问题描述:
当某个cell同时满足了以下三个条件(暂且给这个cell命名为cellX):1、cellX为第一个被点击的cell或cellX被点击前的cell点击事件也出现了延迟问题2、cellX的selectionStyle为UITableViewCellSelectionStyleNone;3、cell的点击响应事件不是[self.navigationController pushViewController:VC animated:YES];时,会出现事件响应延迟的问题,大概会延迟5到9秒左右。
当cellX不能同时满足上述三个条件时,不会出现响应延迟现象。
问题解决:
方法1:不设置cellX的selectionStyle或设置cellX的selectionStyle设置为除UITableViewCellSelectionStyleNone的其他几种样式。
方法2:不管设置cellX的selectionStyle为什么类型,只要在tableView的点击代理方法中添加[tableView deselectRowAtIndexPath:indexPath animated:NO];方法即可,代码如下:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
// 解决cell的点击延迟问题
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}
注:问题解决方法参考文章链接如下:
UItableView 点击cell跳转到其它界面延迟bug