視圖不規(guī)則圓角

平常view的圓角可以通過以下設置,4個角都生效

  view.layer.cornerRadius = 20;
  view.layer.masksToBounds = YES;

如果需要指定一個角為圓角

  • byRoundingCorners 指定某個角為圓弧角
    有如下參數
    typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
    UIRectCornerTopLeft = 1 << 0,
    UIRectCornerTopRight = 1 << 1,
    UIRectCornerBottomLeft = 1 << 2,
    UIRectCornerBottomRight = 1 << 3,
    UIRectCornerAllCorners = ~0UL
    };
  • cornerRadii : 為圓角的半徑
    UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 100, 30) byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomLeft cornerRadii:CGSizeMake(15, 15)];
    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
    maskLayer.frame = CGRectMake(0, 0, 100, 30);
    maskLayer.path = maskPath.CGPath;
    button.layer.mask = maskLayer;

如圖。指定左邊上下2個角為圓形

1.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • UIBezierPath Class Reference 譯:UIBezierPath類封裝了Core Graph...
    鋼鉄俠閱讀 1,771評論 0 3
  • 使用UIBezierPath類可以創(chuàng)建基于矢量的路徑,這個類在UIKit中。 此類是Core Graphics框架...
    XLsn0w閱讀 1,041評論 0 2
  • UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(...
    MrCSA閱讀 732評論 0 0
  • 貝塞爾曲線(UIBezierPath)屬性、方法匯總 UIBezierPath主要用來繪制矢量圖形,它是基于Cor...
    AllureJM閱讀 471評論 0 0
  • 1:四個角都設置圓角 方法1: 通過設置layer的屬性,也是最簡單的一種方法 UIImageView *imag...
    sxyxsp123閱讀 2,557評論 0 6