TableViewCell这个控件是我们每个做ios项目的码农都要用到的高频次的控件,用这个控件的时候,有时候复用的cell连带着把内容也一并复用了,这样就出现了cell里有二行文字
或图片,很是混乱。我们知道cell中本来就有一个subview,如果是重用cell,则要把cell中自己添加的subview清除掉,避免出现重叠问题。
但是用清空cell的语句[cell.contentView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];之后还是不行,问题依然存在。
怎么会是这样的呢,其实问题解决办法也很简单:当我们的section是1的时候,用上面的语句是完全没有问题,能够很好的解决掉这个问题,但是,当我们的section大于1的时候,
我们的复用机制是需要修改的 用如下的代码
status NSString *CellIdentifier = [NSString stringWithFormat:@"cell%d",indexPath.row];
代替
tatus NSString *CellIdentifier = @“Cellidentifier”;
再运行下,正常了!
另外再对累述几句:有时候我们在cell上添加一个lable,然后把lable添加到cell上,[cell addSubview:lable];
当我们点编辑的时候会发现lable并没用动,左侧的减号和lable重叠了。这个问题主要是因为当点击编辑按钮的时候,cell会把附着在他上层的contentView向右推过去,但是无法推动lable。那么就简单了,解决办法就是把lable添加到contentView上,这样再运行就没有问题了!
今天就跟大家唠到这吧。有不懂的欢迎骚扰!