本文来自【小编我】
找到两个使得View变圆的方法,当然还有很多,希望可以补充。直接群里说,我会补充进来。
第一种方法:
直接传入视图和直径即可
-(void)setRoundedView:(UIImageView *)roundedView toDiameter:(float)newSize
{
CGPoint saveCenter = roundedView.center;
CGRect newFrame =CGRectMake(roundedView.frame.origin.x, roundedView.frame.origin.y, newSize, newSize);
roundedView.frame = newFrame;
roundedView.layer.cornerRadius = newSize / 2.0;
roundedView.center = saveCenter;
}
第二种方法:
CAShapeLayer把图片做成圆形效果
利用CAShapeLayer可以制作出任意的几何图形,把它作为UIImageView的遮罩,达到把图片做成圆形效果。
//创建个人主页头部的用户头像
self.userHead = [[UIImageView alloc]initWithFrame:CGRectMake(10, 35, 80, 80)];
self.userHead.image = [UIImage imageNamed:@"start.jpg"];
//创建圆形遮罩,把用户头像变成圆形
UIBezierPath* path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(40, 40) radius:40 startAngle:0 endAngle:2*M_PI clockwise:YES];
CAShapeLayer* shape = [CAShapeLayer layer];
shape.path = path.CGPath;
self.userHead.layer.mask = shape;
[self addSubview:self.userHead];