UITableViewCell重用导致动态添加控件时cell乱掉的问题

来源:互联网 发布:sql注入危害 编辑:程序博客网 时间:2024/05/17 06:42

最近碰到一个问题,需要在tableViewCell里面放入不同的控件,每个cell都可能不一样。

代码写好后,发现测试的时候,只要涉及到cell的重用就会有问题,重用的那个cell添加的控件并没有消失。

解决办法:1、不重用,这样就不会有问题了,但是这样很显然是不可能的。

  2、每次重用之前删除不需要的控件(为了清楚的知道是哪些控件,我在添加控件的时候给控件设了一个tag)。

    staticNSString *ID =@"chatBean_cell";

    XHMessageCell *cell = [tableViewdequeueReusableCellWithIdentifier:ID];

    if (cell ==nil) {

        cell = [[XHMessageCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:ID];

    }else{

        for (UIView *viewin cell.btnText.subviews) {//楼主是把需要的控件放在cell.btnText上面,btnText是cell自定义上面的一个button

            if (view.tag>4) {

                [viewremoveFromSuperview];

            }

        }

    }

0 0