您的位置:首页 > 移动开发 > IOS开发

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

2014-02-27 18:20 375 查看
前阵子加载系统内置相册,发现相册多了以后,拉动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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: