iOS UIView设置圆角 指定区域圆角

iOS的UIView提供了基本的设置圆角的方法,即:

        view.layer.cornerRadius= cornerRadius;

但是在项目中常常遇到需要在指定位置设置圆角,当然我们常常用UI切图的方式来实现,但是我们用代码也可以实现这一效果。

首先,iOS 11以上系统也提供了设置方法,即在设置cornerRadius的基础上,再设置圆角的方向maskedCorners:

        view.layer.maskedCorners = (CACornerMask)(UIRectCornerTopLeft|UIRectCornerTopRight);

而在iOS 11.0以前我们就需要用贝塞尔曲线来绘制圆角了,即:

        UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRight cornerRadii:CGSizeMake(cornerRadius, cornerRadius)];

        CAShapeLayer*maskLayer = [[CAShapeLayeralloc]init];

        maskLayer.frame=view.bounds;

        maskLayer.path= path.CGPath;

        view.layer.mask= maskLayer;

你可能感兴趣的:(iOS UIView设置圆角 指定区域圆角)