ios - UITableViewCell 重用问题,关于Button highlighted 显示不正确

查看:151
本文介绍了ios - UITableViewCell 重用问题,关于Button highlighted 显示不正确的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    CarDetailTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifyCarDetail forIndexPath:indexPath];
    NSLog(@"fenceName.text:%@ cell.infenceBtn:%d", cell.fenceName.text, cell.infenceBtn.highlighted);
    CarFence *carFence = self.carDetail.fence[indexPath.row];
    NSLog(@"carFence:%@ inFence:%d", carFence.fenceName, carFence.inFence);
    cell.fenceName.text = carFence.fenceName;
    cell.infenceBtn.highlighted = !carFence.inFence;
    NSLog(@"==================================");
    return cell;
}

cell.infenceBtn.highlighted = !carFence.inFence;
这句是接口遗留问题。

cell.fenceName.text = carFence.fenceName;
这句对应显示是正确的
第二行的按钮highlighted 不正确

所有测试3的log 均正确

初始 - fenceName.text:测试3 cell.infenceBtn:0 //cell 进入代理时的状态
数据 - carFence:测试3 inFence:0 //这里数据是正确的,因为要取反
完成 - cell.fenceName:测试3 Btn.highlighted:1 // 正确,设置后的Btn.highlighted 状态。

我把修改了XIB 的Default 和 highlighted 使之对应就好了
原因可能和XIB 的加载有关,请问究竟是哪里的问题。

解决方案

原因找到了 Btn 用户交互没有关

这篇关于ios - UITableViewCell 重用问题,关于Button highlighted 显示不正确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆