之前项目中运用到了表单,而且是那种一二十行的表单,运用到了tableview,忙着赶进度没有考虑复用的问题,结果页面乱的一塌糊涂,于是就开始考虑禁止复用的方法,当然也是结合网上的方法,自己改了一下,不多说上代码(运用于自定义cell)
NSString *cellID = [NSString stringWithFormat:@"%zd",indexPath.row];
****TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if(cell ==nil) {
cell = (ruzhuTableViewCell*)[[[NSBundle mainBundle] loadNibNamed:@"ruzhuTableViewCell" owner:self options:nil] lastObject];
[cell setValue:cellID forKey:@"reuseIdentifier"];
}
return cell;
以上就可以实现,自定义cell的不复用,具体怎么应用看项目需求吧
2.关于系统uitableviewcell的建立,当然习惯性的我们也是复用的,最近自己搞了一个私人定制音乐app 中歌词滚动功能,就又一次将复用的问题展露无遗,于是一下放出系统cell的禁止复用的方法,
static NSString *cellid = @"lrcId";
// UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellid]; 这里常常是我门创建cell的方法
//精准取出一行 禁止复用
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];//运用这个就可以禁止复用了
if (!cell){
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellid];
}
以上是我开发中最长用的两种禁止cell复用的方法,如果还有更好的可以改诉我哦,最后贴上一张,禁止复用后歌词完美匹配的图
网友评论