使用貝塞爾曲線裁圓優化tableView

weixin_34353714發表於2016-09-07
  1. 最簡單還是還設計師要個圖, 四周與背景色一直, 中間透明, 直接覆蓋上去即可
  1. 建一個UIView的category

新增以下方法並宣告出去

- (void)setAllCornerWithRoundedCornersSize:(CGFloat)cornersSize {
    UIBezierPath *maskPath;
maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:cornersSize];
    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
    maskLayer.frame = self.bounds;
    maskLayer.path = maskPath.CGPath;
    self.layer.mask = maskLayer;
}

在cell類中引入剛才這個類, 然後在- (void)layoutSubviews{}方法中用需要裁圓的imageView, 呼叫這個方法即可, conerSize就是邊長的一半

順便貼個原始方法

_imageViewOfPic.layer.cornerRadius = 40;     
_imageViewOfPic.layer.masksToBounds = YES;

呼叫還是和第二個方法一樣

相關文章