添加 虛線邊框|單邊框

在iOS中某些控件是具備直接使用 layer.boder 屬性設置邊框的寬度和顏色即可添加實現邊框;并且可以實現圓角邊框。

但是虛線邊框的實現,只有依靠iOS具備的繪制功能實現。

具體實現代碼如下:

CGSize screenSize = [UIScreen mainScreen].bounds.size;
CGFloat viewWidth = 200;
CGFloat viewHeight = 200;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake((screenSize.width - viewWidth)/2, (screenSize.height - viewHeight) / 2, viewWidth, viewHeight)];
view.backgroundColor = [UIColor colorWithWhite:0.9 alpha:1];
view.layer.cornerRadius = CGRectGetWidth(view.bounds)/2;

CAShapeLayer *borderLayer = [CAShapeLayer layer];
borderLayer.bounds = CGRectMake(0, 0, viewWidth, viewHeight);
borderLayer.position = CGPointMake(CGRectGetMidX(view.bounds), CGRectGetMidY(view.bounds));
//
//    borderLayer.path = [UIBezierPath bezierPathWithRect:borderLayer.bounds].CGPath;
borderLayer.path = [UIBezierPath bezierPathWithRoundedRect:borderLayer.bounds cornerRadius:CGRectGetWidth(borderLayer.bounds)/2].CGPath;
borderLayer.lineWidth = 1. / [[UIScreen mainScreen] scale];
//虛線邊框
borderLayer.lineDashPattern = @[@8, @8];
//實線邊框
//    borderLayer.lineDashPattern = nil;
borderLayer.fillColor = [UIColor clearColor].CGColor;
borderLayer.strokeColor = [UIColor redColor].CGColor;
[view.layer addSublayer:borderLayer];
//
[self.view addSubview:view];
  • 在給定某個UI控件添加邊框時,是4條邊全部添加,但是如果只要添加某一條邊框如何實現?
可使用添加一個layer去添加到對應邊框位置去:

CALyaer *borderLayer = [CALayer layer];
borderLayer.backgroundColor = [UIColor redColor];
[testUI.layer addSublayer:borderLayer];
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容