iOS开发笔记--tableview重用问题

来源:互联网 发布:同程网络 编辑:程序博客网 时间:2024/03/29 17:50

前阵子加载系统内置相册,发现相册多了以后,拉动table,很多图片都会出现重复的现象,排查代码发现,自己在cellForRowAtIndexPath里面,每次都会alloc一次显示图片的imageview,不去判断这个imageview是否存在。只需要先判断一下这个imageview是否已经存在。讲得不到位的地方欢迎指正。

下面代码是加在cellForRowAtIndexPath里面的。


 UIImageView *showImage = (UIImageView *)[cell.contentView viewWithTag:888]; //先将cell.contentView里面tag为888的view赋给showImage            if (!showImage) { //如果cell.contentView里不存在tag为888的view时候,进入这里对showImage重新alloc                showImage = [[LUImageView alloc]init];                showImage.tag = 888;                showImage.frame = CGRectMake(cell.frame.origin.x,                                             cell.frame.origin.y,                                             56,                                             56); //只有当这个showImage不存在时候才去重新设置一遍frame,没必要每次进来,不论有没有都去设置一次                [cell.contentView addSubview:showImage]; //同上,只有当他重新alloc时候才去再次添加,没不要每次无论有没有重复添加            }            showImage.image = [UIImage imageWithCGImage:image];


cellForRowAtIndexPath

0 0
原创粉丝点击