iOS對專案中所有加陰影的程式碼進行優化

躍然發表於2015-08-26

1、 對專案中所有加陰影的程式碼進行優化

目前專案中尤其是表格單元格中使用如下加陰影程式碼嚴重影響效能(5.2.5航班查詢結果頁卡頓的原因)

    self.cellBG.layer.shadowColor = [[UIColor colorWithRed:0.8 green:0.8 blue:0.8 alpha:1] CGColor];
    self.cellBG.layer.shadowOffset = CGSizeMake(1, 1);
    self.cellBG.layer.shadowOpacity = 0.5;
self.cellBG.layer.shadowRadius = 2.0;

   優化方案如下:
使用setShadowPath,優點:解決效能問題。缺點:需要獲取到檢視的寬和高,對於自適應的cell

   shadowView.layer.shadowColor = [UIColor redColor].CGColor;
    shadowView.layer.shadowOpacity = 0.5;
    shadowView.layer.shadowRadius = 1.0;
    shadowView.layer.shouldRasterize = YES;
    shadowView.layer.rasterizationScale = [UIScreen mainScreen].scale;
    CGPathRef path = [UIBezierPath bezierPathWithRect:CGRectMake(0.5, 3.5, shadowView.bounds.size.width, shadowView.bounds.size.height)].CGPath;
[shadowView.layer setShadowPath:path];

沒用過,不明覺厲。

相關文章