最常見設定圓角的方式就是變更屬性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 則留言:
補充一點,要讓cornerRadius生效,記得還要設定masksToBounds屬性
self.yourView.layer.masksToBounds = YES;
張貼留言