您的位置:首页 > 移动开发 > IOS开发

IOS_View或者使用CAShapeLayer将视图变圆

2013-08-07 14:20 363 查看
本文来自【小编我】

找到两个使得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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息