iOS 部分圓角的正確實現(xiàn)

  • 先看效果:


    部分圓角.gif

由于項目需求,需要實現(xiàn)部分圓角,開始沒想那么多,直接在GitHub上找了一個SKArchCutter,圓角效果是能出來的,但是我發(fā)現(xiàn)我btn的背景顏色存在問題,這下就只有自己再研究下了。

  • 實現(xiàn)代碼:
/**
 按鈕的圓角設(shè)置

 @param view view類控件
 @param rectCorner UIRectCorner要切除的圓角
 @param borderColor 邊框顏色
 @param borderWidth 邊框?qū)挾? @param viewColor view類控件顏色
 */
- (void)setupRoundedCornersWithView:(UIView *)view cutCorners:(UIRectCorner)rectCorner borderColor:(UIColor *)borderColor borderWidth:(CGFloat)borderWidth viewColor:(UIColor *)viewColor{

    CAShapeLayer *mask=[CAShapeLayer layer];
    UIBezierPath * path= [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:rectCorner cornerRadii:CGSizeMake(15,10)];
    mask.path=path.CGPath;
    mask.frame=view.bounds;


    CAShapeLayer *borderLayer=[CAShapeLayer layer];
    borderLayer.path=path.CGPath;
    borderLayer.fillColor = [UIColor clearColor].CGColor;
    borderLayer.strokeColor = borderColor.CGColor;
    borderLayer.lineWidth = borderWidth;
    borderLayer.frame = view.bounds;
    view.layer.mask = mask;
    [view.layer addSublayer:borderLayer];
    
    
}
  • 至于怎么使用,相信大家一看也就明白了,傳參數(shù)上比較重要的就是rectCorner了,他是UIRectCorner的枚舉,跟進去看一下就明白怎么回事了。寫得比較片面,有更好的方法也請指正。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,222評論 3 119
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,271評論 25 708
  • 原來我要的,只是一片開闊的地方,安放得下我。 坐在涼涼的大理石凳上,臨著一片說大不大,說小也不小的湖,陽光...
    蘇城杪夏閱讀 279評論 0 1
  • 詠茄 (宋)鄭清之青紫皮膚類宰官,光圓頭腦作僧看。如何緇俗偏同嗜?入口元來總一般。 打開百度,還真找到了一首寫茄子...
    木虞煲娛湯閱讀 765評論 5 4
  • 最近看了風(fēng)云的漫畫。有幾點感觸。 以前只看過風(fēng)云的電視劇,你看的作品要和你現(xiàn)在的品位相適合。 在你童年看來很多經(jīng)典...
    楊昊霖我能為你做什么閱讀 1,513評論 0 0

友情鏈接更多精彩內(nèi)容