iOS - 设置圆角

2017-07-17 by liyun123gx

UIImage * image = [UIImage imageNamed:@"1"]; //方式一: 设置layer属性 UIImageView *imageView1 = [[UIImageView alloc ] initWithFrame:CGRectMake(100, 100, 100, 100)]; [imageView1 setImage:image]; //设置圆角大小 imageView1.layer.cornerRadius = 20; //masksToBounds 默认是NO,需要设置成YES,将视图的图层上的子图层超出部分截取掉。 imageView1.layer.masksToBounds = YES; [self.view addSubview:imageView1]; //方法二:使用贝塞尔曲线UIBezierPath和Core Graphics框架画出一个圆角 UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(100, 220, 100, 100)]; [imageView2 setImage:image]; UIGraphicsBeginImageContextWithOptions(imageView2.bounds.size, NO, [UIScreen mainScreen].scale); [[UIBezierPath bezierPathWithRoundedRect:imageView2.bounds cornerRadius:20] addClip]; [imageView2 drawRect:imageView2.bounds]; imageView2.image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); [self.view addSubview:imageView2]; //方法三:使用CAShapeLayer和UIBezierPath设置圆角 UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:CGRectMake(100, 330, 100, 100)]; [imageView3 setImage:image]; UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:imageView3.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(20,20)]; CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; maskLayer.frame = imageView3.bounds; maskLayer.path = maskPath.CGPath; imageView3.layer.mask = maskLayer; [self.view addSubview:imageView3];
最新更新:

第七城市

栏目导航(关闭)