UIView设置圆角

为UIView设置圆角是实际开发中常需要处理的问题,就UIView而言相关的api没有找到直接设置的方法;不过UIView是对CALayer的封装,设置CALayer圆角则可以出来相应的效果。下面介绍几种设置圆角的方法:

1、为UIView的所有角都设置圆角:

CALayer *layer=[view layer];
//是否设置边框以及是否可见
[layer setMasksToBounds:YES];
 //设置边框圆角的弧度
  [layer setCornerRadius:radius];


MasksToBounds必须设置成yes否则不能出现效果

2、为UIView的某个或者某几个角设置成圆角:

-(void)setRoundRadius:(UIView *)needView{
    UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:needView.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(8, 8)];
    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
    maskLayer.frame = needView.bounds;
    maskLayer.path = maskPath.CGPath;
    needView.layer.mask = maskLayer;
}

其中needView表示需要设置圆角的UIView,byRoundingCorners可以做相应的组合,总的有下面几种:

typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
    UIRectCornerTopLeft     = 1 << 0,
    UIRectCornerTopRight    = 1 << 1,
    UIRectCornerBottomLeft  = 1 << 2,
    UIRectCornerBottomRight = 1 << 3,
    UIRectCornerAllCorners  = ~0UL
};

3、使用CoreGraphic自己画




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值