Я пытаюсь создать метку (или любой другой вид, если на то пошло) с одним закругленным углом и обводкой/границей. Я могу добиться первого, используя следующий код:
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.label.bounds
byRoundingCorners:UIRectCornerBottomRight
cornerRadii:CGSizeMake(16.0f, 16.0f)];
CAShapeLayer *shape = [CAShapeLayer layer];
shape.frame = self.label.bounds;
shape.path = maskPath.CGPath;
self.label.layer.mask = shape;
Что отлично работает для закругленного угла, но использование следующего кода не применяет обводку так, как я хочу. Вместо этого создайте черную (или любую другую, установленную для backgroundColor
из self.label
) квадратную рамку.
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.label.bounds
byRoundingCorners:UIRectCornerBottomRight
cornerRadii:CGSizeMake(16.0f, 16.0f)];
CAShapeLayer *shape = [CAShapeLayer layer];
shape.frame = self.label.bounds;
shape.path = maskPath.CGPath;
// Add stroke
shape.borderWidth = 1.0f;
shape.borderColor = [UIColor whiteColor].CGColor;
self.label.backgroundColor = [UIColor blackColor];
self.label.layer.mask = shape;
Любые предложения о том, как я могу применить произвольный цветной штрих, который следует по замаскированному пути?