UItableView 点击cell跳转到其它界面延迟bug

最近在做项目等时候遇见一个bug,点击UITableView的Cell跳转到其他界面,经常会有延时,有时四五秒,有时会有十几秒。

查看网上也没有什么详细的介绍。iOS群里问也没有问出正确的答案。最后让自己找出了答案。

我用的设备iPhone5s,iOS版本8.4。模拟器测试也有问题。

我的第一个界面中的相关代码。其他的一些没什么关系的代码就不写了。

//返回每一行
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle
            reuseIdentifier:nil];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    GASettingUtils *set = _tableSettingAry[indexPath.row];
    cell.textLabel.text = set.settingTitle;
    cell.detailTextLabel.text = set.settingDetail;
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    return cell;
}
//点击事件。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.row ==0) {
          NSLog(@"click tableview");
         //跳转到第二个界面
         [self performSegueWithIdentifier:@"showSettingHotSpot" sender: self]; 
     }
}


 

第二个界面,并没有什么耗时操作(网络啊。。。),也没有太多控件,只是一个分组样式的UITableVIew。

解决办法找到两个。

第一个方法。                                                                                                                                                                   

将cell.selectionStyle设置成1、2、3。

也就是不要这样:cell.selectionStyle =UITableViewCellSelectionStyleNone;

设置成这几种都可以:

cell.selectionStyle = UITableViewCellSelectionStyleBlue; // 1

cell.selectionStyle = UITableViewCellSelectionStyleGray;  //2

cell.selectionStyle = UITableViewCellSelectionStyleDefault;  //3 

这样后没有出现那个问题。

第二个方法                                                                             

不管cell的selectionStyle,在tableview的点击事件方法中,也就是 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

在这个方法中添加一句代码

[tableView deselectRowAtIndexPath:indexPath animated:YES];

这样不论cell的selectionStyle是什么。都没有在延迟。



之后又发现一个问题,就是点击cell弹出alertview的时候,也会出现延迟。

这个经多次测试只能使用第一个方法避免这种问题的出现,第二种不能解决。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值