博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发之圆角指定
阅读量:6502 次
发布时间:2019-06-24

本文共 959 字,大约阅读时间需要 3 分钟。

如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架)。而若要指定某几个角(小于4)为圆角而别的不变时,这种方法就不好用了。

对于这种情况,Stackoverflow上提供了。其中最简单优雅的方案,就是使用UIBezierPath。下面给出一段示例

UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(120, 10, 80, 80)]; view2.backgroundColor = [UIColor redColor]; [self.view addSubview:view2]; UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:view2.bounds byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(10, 10)]; CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; maskLayer.frame = view2.bounds; maskLayer.path = maskPath.CGPath; view2.layer.mask = maskLayer;

其中,

byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight

指定了需要成为圆角的角。该参数是UIRectCorner类型的,可选的值有:

* UIRectCornerTopLeft* UIRectCornerTopRight* UIRectCornerBottomLeft* UIRectCornerBottomRight* UIRectCornerAllCorners

从名字很容易看出来代表的意思,使用“|”来组合就好了。

转载于:https://www.cnblogs.com/liuqixu/p/4683209.html

你可能感兴趣的文章
《iOS创意程序设计家》——导读
查看>>
spring-aop
查看>>
android RecycleView Adapter简单封装
查看>>
PgSQL · 案例分享 · 递归收敛优化
查看>>
Dart的数据库操作
查看>>
Codeforces 591 B Rebranding【Codeforces Round #327 (Div. 2)】
查看>>
命名难,难于上青天
查看>>
socket在windows下和linux下的区别的网络文摘
查看>>
Redis3学习笔记
查看>>
《Gradle 系列》- Gradle构建Web项目
查看>>
将javaBean转换为map
查看>>
最近的一些感想!
查看>>
outlook无法加载加载项
查看>>
企业ERP软件选型该何去何从
查看>>
spring-core组件详解——类型转换系统
查看>>
mysql8.0 mysqld: File './binlog.index' not found
查看>>
C语言扩展Python(二)
查看>>
window.addEventListener介绍说明
查看>>
js获取节点
查看>>
jq复习心得
查看>>