问题:
当VC1 push到VC2, 再pop回到VC1后
VC1上的cell (cell上就是个image)视图会抖动
VC1: 上面是个collectionView,cell上就是个image
排查:
1)开始以为是collectionView复用问题导致的,但是排查复查没有问题
collectionView四种创建方法:http://blog.csdn.net/ZC_Huang/article/details/52002302
2)collectionView隐式动画引起,去掉隐藏动画,但是还是不行
取消UICollectionView的隐式动画:http://www.cocoachina.com/ios/20151113/14211.html
3)图片太大,引起,这是正解
解决方法:因为服务器端暂时不提供缩略图,只有大图,所以移动端自己压缩图片大小
https://www.jianshu.com/p/99c3e6a6c033
实现方法:
-(UIImage *)compressImageQuality:(UIImage *)image{
//压缩比列大小,比列压缩成宽 144 高 81
CGSize size = {144,81};
UIGraphicsBeginImageContext(size);
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//压缩图片大小 compression是压缩大小 ,范围为0.0-1.0 值越小压缩又厉害,图片大小越小 同时质量越差越模糊
CGFloat compression = 0.8;
NSData *data = UIImageJPEGRepresentation(image, compression);//可以循环多压缩几次
UIImage *resultImage = [UIImage imageWithData:data];
return resultImage;
}
网友评论