ios 贝塞尔曲线切割圆角的方法

2025-05-29 0 101

ios 系统框架已经给我们提供了相应的切割圆角的方法, 但是如果在一个见面有很多控件切割的话会出现卡顿和个别不切得现在

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27
/* 创建一个Button */

UIButton * button = [UIButton buttonWithType:(UIButtonTypeSystem)];

[button setFrame:CGRectMake(100, 100, 100, 100)];

[self addSubview:button];

/* 正厂的圆角需求处理方法 */

button.layer.cornerRadius = 10.0f; //弧度

button.layer.masksToBounds = YES;

/* 贝塞尔曲线切割 */

/**

*

* @param UIRectCorner

* 左上 UIRectCornerTopLeft = 1 << 0,

左下 UIRectCornerBottomLeft = 1 << 2,

右下 UIRectCornerBottomRight = 1 << 3,

所有角 UIRectCornerAllCorners = ~0UL

*

*/

UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:button.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomLeft cornerRadii:button.bounds.size];

CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init];

//设置大小

maskLayer.frame = button.bounds;

//设置图形样子

maskLayer.path = maskPath.CGPath;

button.layer.mask = maskLayer;

注意: 如果这里选择两个角 的话如果是选两个对角线 则会切 所有角

比如:UIRectCornerTopLeft | UIRectCornerBottomRight 他就会切割所有角

当然你也可以直接创建个圆角的button

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 ios 贝塞尔曲线切割圆角的方法 https://www.kuaiidc.com/90800.html

相关文章

发表评论
暂无评论