国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

UITableView性能-圓角圖片

2019-11-14 18:15:39
字體:
供稿:網(wǎng)友

圓角圖片因?yàn)镚PU渲染會影響性能

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

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

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

instruments用的不多,我直接循環(huán)了幾個圓角,3種方法試了下

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

上面效率是最低的,

另外的重寫draw方法,和mask圖與原圖覆蓋生成新圖,效率感覺差不多,等后面熟悉了instruments在測試下,

重寫drawRect,(-_-,要弄個新的屬性才會走這里,本菜鳥還不懂啊,先弄了個UIImageView用它自己的image走都不走這里。。。圖形這方面設(shè)計(jì)太少了)

//注意背景色要和cell的背景色設(shè)置一致哦,不然-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;
}

補(bǔ)充:mask圖與原圖覆蓋生成新圖可以自定義任意形狀的圖哦

測試demo鏈接:http://pan.baidu.com/s/1qWCDprY


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 漠河县| 乐平市| 安多县| 寿光市| 久治县| 滕州市| 崇礼县| 西宁市| 兴海县| 鄂托克前旗| 湛江市| 淳安县| 潞城市| 娄底市| 西贡区| 辛集市| 集贤县| 鄂托克前旗| 沛县| 新乡市| 武平县| 揭西县| 新安县| 朝阳县| 永和县| 弥勒县| 土默特右旗| 龙口市| 高要市| 嵩明县| 中超| 泗阳县| 宾阳县| 兖州市| 长沙县| 寻乌县| 沙雅县| 肥西县| 察隅县| 虹口区| 福泉市|