iOS 圆角

iOS 创建圆角的方法

1、直接设置layer.cornerRadius的值就可以,缺点是会导致性能问题,特别是在tableview上使用圆角的时候,会导致卡顿

2、使用coreGraphics和贝塞尔曲线来设置圆角
首先是初始化一个UIImageView,设置好Image,然后使用UIGraphicsBeginImageContextWithOptions方法来对UIImageview进行创建一个context,UIGraphicsBeginImageContextWithOptions是有三个参数的,第一个是imageview的size,第二个是是否透明,第三个是缩放因子.
然后再调用

[[UIBezierPath bezierPathWithRoundedRect:Frame cornerRadius:CGFloat] addClip];  
[imageview drawRect:imageview.frame];
imageview.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

3、使用贝塞尔曲线和CAShapeLayer设置圆角
一样是初始化一个UIImageView,设置好iamge.然后调用初始化一个UIBezierPath的对象。

UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:CGRect byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSize];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.path = maskPath.CGPath;

你可能感兴趣的:(iOS 圆角)