UITableViewCell复用重叠的问题
来源:互联网 发布:淘宝买家秀木耳 编辑:程序博客网 时间:2024/04/29 17:56
更多iOS 学习知识,总结尽在 的墨科技:传送门
当用到cell重用时 会出现以下问题:只要cell重用了,内容就会覆盖叠加
当cell重用时,就出现了以上问题,叠加
解决办法
[_listTableView registerNib:[UINib nibWithNibName:@"InformationCell" bundle:nil] forCellReuseIdentifier:@"Infor"];
- (InformationCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString * cellIndentifier = @"Infor";
InformationCell *cell = (InformationCell*)[tableView dequeueReusableCellWithIdentifier:cellIndentifier forIndexPath:indexPath];
if ( cell == nil ) {
cell = [[InformationCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIndentifier];
cell.backgroundColor = [UIColor clearColor];
cell.contentView.backgroundColor = [UIColor clearColor];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
MessageModel * model = [_messArray objectAtIndex:indexPath.row];
if ( [model isKindOfClass:[MessageModel class]] ) {
[cell loadData:model];
}
return cell;
}
[_listTableView registerClass:[ActivityTableViewCell class] forCellReuseIdentifier:@"activityCell"]; // activityCell 自定义的名称
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
ActivityTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"activityCell"];
if (!cell) {
cell = [[ActivityTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"activityCell"];
}
ActivityModel *model = [_array objectAtIndex:indexPath.section];
cell.activityModel = model;
cell.selectionStyle=UITableViewCellSelectionStyleNone;
return cell;
}
关键的一步
cell.m进行创建UILayout时,初始化cell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
[self createActivityUI];
}
return self;
}
//- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
// [super setSelected:selected animated:animated];
//
// [self createActivityUI];
//}
应该使用未注释的代码,进行创建,会正常显示
如果使用了注释的代码,即会产生cell的重用叠加错误
- UITableViewCell复用重叠的问题
- 解决UITableViewCell出现重叠的问题
- UITableViewCell 的重叠
- UITableViewCell复用后,label上的字重叠的问题
- 避免UITableViewCell重叠的解决方法
- 避免UITableViewCell重叠的解决方法
- UITableViewCell重叠
- UITableViewCell的重用导致 内容重叠
- 解决UITableViewCell重用导致的重叠(字变粗)
- UITableViewCell的复用
- uitableviewcell 重用机制 和 当绘图重叠时的解决办法
- IOS UITableViewCell 自定义的label 设值重叠
- 解决uitableviewcell重绘出现重叠的现象
- margin重叠的问题
- Fragment重叠的问题
- view的重叠问题
- UITableViewCell的重用问题
- UITableViewCell的自定义问题
- Linux精讲——软件安装yum、rpm、源码安装
- imx6ul evk板子QSPI nor启动记录(2) inirramfs文件系统制作2
- Oracle数据库数据迁移到MySQL数据库时间格式问题
- java 线程操作
- 旧作:民科的一个样本--反重力和引力波董长军师傅
- UITableViewCell复用重叠的问题
- 初识presto
- 第一行代码-10.5 网络编程的最佳实践
- ExtJs5.0在WebStorm上的使用之入门教程(一)编写第一个网页 HelloExt
- Android的Handler总结
- (十三)适配器模式
- Java抽象类与接口
- 常用第三方地图
- oracle删除大数据表整表后整理