设置控件单个或某几个角为圆角的实现

-(void)changeButtonStyle:(UIButton*)button style:(NSInteger)style{

    UIRectCorner corners;

    switch (style) {

        case 0:

            corners = UIRectCornerBottomLeft | UIRectCornerTopLeft;

            break;

        case 1:

            corners = UIRectCornerTopRight | UIRectCornerBottomRight;

            break;

        default:

            corners = UIRectCornerAllCorners;

            break;

    }

    UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:button.bounds

                                                   byRoundingCorners:corners

                                                         cornerRadii:CGSizeMake(5.0, 5.0)];

    CAShapeLayer *maskLayer = [CAShapeLayer layer];

    maskLayer.frame         = button.bounds;

    maskLayer.path          = maskPath.CGPath;

    button.layer.mask         = maskLayer;

}


不仅仅是button,所有的view都可以进行类似设置。


UIRectCornerTopLeft、 UIRectCornerBottomLeft、UIRectCornerTopRight、UIRectCornerBottomRight分别对应左上、左下、右上、右下,根据实际需要,进行或运算,生成所需的UIRectCorner。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值