iOS锦囊

collectionView/TableView视图颤抖

2018-01-26  本文已影响9人  片片碎

问题:

当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;

}

上一篇下一篇

猜你喜欢

热点阅读