直播平臺原始碼,自定義設定 View 四個角的圓角 以及邊框的設定

zhibo系統開發發表於2023-10-12

直播平臺原始碼,自定義設定 View 四個角的圓角 以及邊框的設定

使用貝塞爾曲線

typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
    UIRectCornerTopLeft     = 1 << 0,
    UIRectCornerTopRight    = 1 << 1,
    UIRectCornerBottomLeft  = 1 << 2,
    UIRectCornerBottomRight = 1 << 3,
    UIRectCornerAllCorners  = ~0UL
};
//16進位制顏色
#define RGB16Color(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
 
UIButton * chooseButton = [UIButton buttonWithType:UIButtonTypeCustom];
chooseButton.frame = CGRectMake(10, 15, 86, 24);
[self.view addSubview:chooseButton];
UIBezierPath *maskPath_two = [UIBezierPath bezierPathWithRoundedRect: chooseButton.bounds byRoundingCorners:UIRectCornerTopRight | UIRectCornerBottomRight cornerRadii:CGSizeMake(5,5)];
    //建立 layer
    CAShapeLayer *maskLayer_two = [[CAShapeLayer alloc] init];
    maskLayer_two.frame = chooseButton.bounds;
    //賦值
    maskLayer_two.path = maskPath_two.CGPath;
    chooseButton.layer.mask = maskLayer_two;


在以上的基礎上 設定邊框

//設定邊框
    CAShapeLayer *borderLayer = [CAShapeLayer layer];
    borderLayer.frame = chooseButton.bounds;
    borderLayer.path = maskPath_two.CGPath;
    borderLayer.lineWidth = 1;
    borderLayer.fillColor = [UIColor clearColor].CGColor;
    borderLayer.strokeColor = RGB16Color(0x30C26D).CGColor;
    [chooseButton.layer addSublayer:borderLayer];


 以上就是直播平臺原始碼,自定義設定 View 四個角的圓角 以及邊框的設定, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2988507/,如需轉載,請註明出處,否則將追究法律責任。

相關文章