天天看点

关于注册XIB创建的 tableview cell 的问题

比较蛋疼,由于大意犯了个低级错误,有个功能需要点击navigation right barButton 切换当前页面cell 布局以及数据。

我做法是:利用xib创建两个不同的cell,在点击button时进行tableview reloadData 的刷新,在重新运行cell for row 时根据seleIndex 判断需要return 哪个cell 。但是第一次尝试出现了cell 顺序错误,重用出现问题(即一个tableview 两个cell都出现了)。

由于注册cell 这个简单的动作我认为不会有什么问题的,所以折腾了一会,但后来发觉,就这个简单的动作浪费了我的时间!!

说多无益,只能利用加班补回来咯~

LiveAllDetailCell *cell = [tableView 
dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        UINib *nibCell = [UINib nibWithNibName:NSStringFromClass([LiveAllDetailCell class]) bundle:nil];
        [tableView registerNib:nibCell forCellReuseIdentifier:CellIdentifier];
        cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
           

以上是代码,dequeueReusableCellWithIdentifier:需要调用两次,我试过将判断内的dequeueReusableCellWithIdentifier:注释,但是发觉运行不起来,因为时间问题也没深究。

继续阅读