iOS設定圓角

最常見設定圓角的方式就是變更屬性cornerRadius 
    self.yourView.layer.cornerRadius = 10;
但此法只能提供四個角都擁有相同弧度的效果

四個角的設定都不同,例如弧度尺寸、或有的要圓弧有的要直角,那就無法單靠cornerRadius 屬性了,以設定只有左上角+左下角有圓弧為例子,寫法如下
    UIBezierPath *maskPath = [UIBezierPath
                              bezierPathWithRoundedRect:self.yourView.bounds
                              byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerBottomLeft)
                              cornerRadii:CGSizeMake(10, 10)
                              ];
   
    CAShapeLayer *maskLayer = [CAShapeLayer layer];
    maskLayer.frame = self.bounds;
    maskLayer.path = maskPath.CGPath;
   
    self.yourView.layer.mask = maskLayer;

參考文章
how to set cornerRadius for only top-left and top-right corner of a UIView?

1 則留言:

piggy 提到...

補充一點,要讓cornerRadius生效,記得還要設定masksToBounds屬性
self.yourView.layer.masksToBounds = YES;