iOS相关记录本

uitableview中禁止cell复用的小方法

2018-10-26  本文已影响0人  ro萝卜先生

之前项目中运用到了表单,而且是那种一二十行的表单,运用到了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复用的方法,如果还有更好的可以改诉我哦,最后贴上一张,禁止复用后歌词完美匹配的图

上一篇下一篇

猜你喜欢

热点阅读