星空网 > 软件开发 > 操作系统

UITableView性能-圆角图片

圆角图片因为GPU渲染会影响性能

参考:http://www.cocoachina.com/ios/20150803/12873.html

http://blog.sina.com.cn/s/blog_671d2e4f0101cxpl.html

http://www.cnblogs.com/thefeelingofsimple/archive/2013/02/20/2918547.html 

instruments用的不多,我直接循环了几个圆角,3种方法试了下

 image.layer.cornerRadius = 8;
 image.layer.masksToBounds = YES;

上面效率是最低的,

另外的重写draw方法,和mask图与原图覆盖生成新图,效率感觉差不多,等后面熟悉了instruments在测试下,

重写drawRect,(-_-,要弄个新的属性才会走这里,本菜鸟还不懂啊,先弄了个UIImageView用它自己的image走都不走这里。。。图形这方面设计太少了)

//注意背景色要和cell的背景色设置一致哦,不然-0-
- (void)drawRect:(CGRect)rect {
    CGRect bounds = self.bounds;
    [[UIColor whiteColor]set];
    UIRectFill(bounds);
    [[UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:8.0] addClip];
    [self.image drawInRect:bounds];
}

- (void)setImage:(UIImage *)image {
    _image = image;
    //需要这一步,需要刷新,不然显示会出问题
    [self setNeedsDisplay];
}

- (void)dealloc {
    self.image = nil;
}

mask图与原图覆盖生成新图

- (UIImage *)imageByComposingImage:(UIImage *)image withMaskImage:(UIImage *)maskImage {
    CGImageRef maskImageRef = maskImage.CGImage;
    CGImageRef maskRef = CGImageMaskCreate(CGImageGetWidth(maskImageRef),
                                           CGImageGetHeight(maskImageRef),
                                           CGImageGetBitsPerComponent(maskImageRef),
                                           CGImageGetBitsPerPixel(maskImageRef),
                                           CGImageGetBytesPerRow(maskImageRef),
                                           CGImageGetDataProvider(maskImageRef), NULL, false);
    
    CGImageRef newImageRef = CGImageCreateWithMask(image.CGImage, maskRef);
    CGImageRelease(maskRef);
    UIImage *newImage = [UIImage imageWithCGImage:newImageRef];
    CGImageRelease(newImageRef);
    
    return newImage;
}

补充:mask图与原图覆盖生成新图可以自定义任意形状的图哦

测试demo链接:http://pan.baidu.com/s/1qWCDprY




原标题:UITableView性能-圆角图片

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

英国电商平台有哪些?跨境卖家该如何选择?:https://www.kjdsnews.com/a/1726948.html
外贸人年假通知那些事:https://www.kjdsnews.com/a/1726949.html
如何降低购物车废弃率:https://www.kjdsnews.com/a/1726950.html
跨境电商常用离岸公司注册地的优劣势比较:https://www.kjdsnews.com/a/1726951.html
2024年美国报税季来临,卖家需要提前规划税务!:https://www.kjdsnews.com/a/1726952.html
未来零售策略解密:品牌全球化与新兴零售模式的交汇:https://www.kjdsnews.com/a/1726953.html
德国有那些品牌公司:https://www.vstour.cn/a/408236.html
黔南瓮安AAA以上旅游景点 黔南瓮安aaa以上旅游景点:https://www.vstour.cn/a/408237.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流