在这里我只讲解一下自定制cell中如何防止复用的时候界面乱七八糟的情况。有错误的地方欢迎大家指出。
一、情况介绍:
1.我是在自定义cell中初始化加入了createUI方法,用于搭建基础界面。
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
[self createUI];
}
return self;
}
2.另外我在头文件中写了另一个方法,来传递服务器下载下来的数据,这里应该传个模型类进来,示例代码先这样简单写了下。-(void)modifyWithType:(int)type;
二、解决方法:
1.首先,在cell中用到的所有控件的初始化都放到createUI中,不要再第二个方法中初始化任何控件,并且把控件都写成全局变量。
2.所有控件中包含两种控件:
①每个cell都复用的控件。
②个别cell用到的控件。
在第二个方法 modifyWithType:(int)type 中将第二类控件的hidden属性全部设为真。然后根据需要在下面的代码中用到哪个控件把哪个控件的hidden属性设为假即可。
以上就是我的思路,很简单。有更好的方法欢迎大家留言~