讓View四個(gè)角部分圓弧化

今天學(xué)了一種讓圓角部分圓弧化的方法,就是使用UIBezierPath;如果是讓所有的角都圓弧化,很簡(jiǎn)單,只要設(shè)置View的layer的cornerRadius就行了.

而今天要說的UIBezierPath方法是一種比較優(yōu)雅的方法,這是我在一片博客上看見的,感謝作者,博客原文在這里.

-(UIView*)viewForRoundingsChangeWith:(UIView*)view byRoundingCorners:(UIRectCorner)rectCorner cornerRadii:(CGSize)cornerRadii

{

UIBezierPath*maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:rectCorner cornerRadii:cornerRadii];

CAShapeLayer*maskLayer = [[CAShapeLayer alloc]init];

maskLayer.frame= view.bounds;

maskLayer.path= maskPath.CGPath;

view.layer.mask= maskLayer;

returnview;

}

我自己定義了一個(gè)單例類,寫了一個(gè)方法,實(shí)現(xiàn)如上.

其中rectCorner 就是定義是哪些角需要圓角化,有

* UIRectCornerTopLeft

* UIRectCornerTopRight

* UIRectCornerBottomLeft

* UIRectCornerBottomRight

* UIRectCornerAllCorners


見名知意,不多贅述.

cornerRadii用來定義圓滑的弧度.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容