由于UIProgressHUD
需要访问私有API,
所以我希望构建一个带圆角和白色边框的UIView
。
我知道如何使角变圆:
view.layer.cornerRadius = 5;
如何同时让UIView具有圆角和白色边框?
欢迎任何评论。
谢谢
interdev
由于UIProgressHUD
需要访问私有API,
所以我希望构建一个带圆角和白色边框的UIView
。
我知道如何使角变圆:
view.layer.cornerRadius = 5;
如何同时让UIView具有圆角和白色边框?
欢迎任何评论。
谢谢
interdev
使用相同的层对象:
view.layer.borderWidth = 1;
view.layer.borderColor = [[UIColor whiteColor] 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.borderWidth = 1;
view.layer.borderColor = [UIColor redColor].CGColor;
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]];