iOS切圆角的几个方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS切圆角的几个方法相关的知识,希望对你有一定的参考价值。
这几天在研究到切圆角的方法,也找了下网上的资料 ----------
切圆角尽量避免离屏渲染。
1.直接用视图中layer中的两个属性来设置圆角,这种方法比较简单,但是及其影响性能不推荐:
@property (strong, nonatomic) IBOutlet UIImageView *imageView;
self.imageView.layer.cornerRadius = 5;
self.imageView.layer.masksToBounds = YES;
2.通过layer和bezierPath 设置圆角
- (void)setLayerAndBezierPathCutCircularWithView:(UIView *) view
{
// 创建BezierPath 并设置角 和 半径
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight|UIRectCornerBottomLeft|UIRectCornerBottomRight cornerRadii:CGSizeMake(5, 5)];
CAShapeLayer *layer = [[CAShapeLayer alloc] init];
layer.frame = view.bounds;
layer.path = path.CGPath;
view.layer.mask = layer;
}
3.通过Graphics 和 BezierPath 设置圆角
- (void)setGraphicsCutCirculayWithView:(UIImageView *) view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, 1.0);
[[UIBezierPath bezierPathWithRoundedRect:view.bounds cornerRadius:5] addClip];
[view drawRect:view.bounds];
view.image = UIGraphicsGetImageFromCurrentImageContext();
// 结束
UIGraphicsEndImageContext();
}
欢迎指正讨论~~~
以上是关于iOS切圆角的几个方法的主要内容,如果未能解决你的问题,请参考以下文章