Ответ 1
Использование одного и того же объекта слоя:
view.layer.borderWidth = 1;
view.layer.borderColor = [[UIColor whiteColor] CGColor];
Из-за UIProgressHUD
необходимо получить доступ к приватным api,
поэтому я надеюсь построить UIView
с круглым углом и белой рамкой.
Я знаю, чтобы сделать угол вокруг:
view.layer.cornerRadius = 5;
Но как сделать uiview круглой и белой рамкой одновременно?
Приветствуем любой комментарий
Спасибо InterDev
Использование одного и того же объекта слоя:
view.layer.borderWidth = 1;
view.layer.borderColor = [[UIColor whiteColor] CGColor];
В слое представления есть также свойства границ: например:
view.layer.borderWidth = 1;
view.layer.borderColor = [UIColor redColor].CGColor;
Иногда угловой радиус с белой рамкой не работает должным образом, поэтому я использую UIBezierPath
и CAShapeLayer
.
Чтобы сделать радиус угла
UIBezierPath *maskPath;
maskPath = [UIBezierPath bezierPathWithRoundedRect:self.imageView.bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight | UIRectCornerBottomLeft | UIRectCornerBottomRight) cornerRadii:CGSizeMake(10.0, 10.0)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = self.view.bounds;
maskLayer.path = maskPath.CGPath;
self.imageView.layer.mask = maskLayer;
Чтобы сделать границу белой
CAShapeLayer* borderShape = [CAShapeLayer layer];
borderShape.frame = self.imageView.bounds;
borderShape.path = maskPath.CGPath;
borderShape.strokeColor = [UIColor whiteColor].CGColor;
borderShape.fillColor = nil;
borderShape.lineWidth = 3;
[self.imageView.layer addSublayer:borderShape];
Это сработает. Надеемся на эту помощь.
view.layer.cornerRadius = 5;
view.clipsToBounds = YES;
view.layer.borderWidth = 1;
view.layer.borderColor = [UIColor whiteColor].CGColor;
код для округления углов и границ
#import <QuartzCore/QuartzCore.h>
view.layer.cornerRadius = 10;
view.layer.borderWidth = 1;
view.layer.borderColor = [[UIColor whiteColor] CGColor];
[view.layer setBorderWidth:2];
[view.layer setBorderColor:[[UIColor whiteColor]CGColor]];