1.使用view.layer.cornerRadius實(shí)現(xiàn)
view.layer.cornerRadius = 4.0;
view.layer.masksToBounds = YES; // 某些情況(此處不做贅述)此句代碼可省略
將view.layer.masksToBounds,設(shè)置為NO,可以避免觸發(fā)離屏渲染。
2.避免離屏渲染或者指定位置設(shè)置圓角可以使用UIBezierPath和CAShapeLayer實(shí)現(xiàn)
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(12.0, 12.0)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = view.bounds;
maskLayer.path = maskPath.CGPath;
view.layer.mask = maskLayer;
3. iOS 11.0可以使用view.layer.maskedCorners設(shè)置指定位置圓角
view.layer.cornerRadius = 4.0;
view.layer.maskedCorners = kCALayerMinXMinYCorner | kCALayerMinXMaxYCorner;