为UIView任意角设置圆角
浏览:2165次 出处信息

圆角在苹果的世界时随处可见的。为视图设置圆角在开发iOS当中是经常要做的事情。要为UIView对象设置圆角也是非常简单地事情。
view.layer.cornerRadius = 10;
这样一句代码就轻松为一个view的四个角设置了圆角。当我们需要为view任意一个角设置圆角的时候,需要怎么办呢?有一个方法就是通过layer.mask,也就是遮罩。加上UIBezierPath的+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii的这个方法就可以轻松添加圆角遮罩了。
UIRectCorner
UIRectCorner的定义如下:
typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
UIRectCornerTopLeft = 1 << 0,
UIRectCornerTopRight = 1 << 1,
UIRectCornerBottomLeft = 1 << 2,
UIRectCornerBottomRight = 1 << 3,
UIRectCornerAllCorners = ~0UL
};
例子
下面代码就是为一个view三个角设置圆角。
- (void)layoutSubviews{
[super layoutSubviews];
CGFloat corner = 50;
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight | UIRectCornerBottomLeft cornerRadii:CGSizeMake(corner, corner)].CGPath;
self.layer.mask = shapeLayer;
}
运行如下:

建议继续学习:
- 手机UI设计基础-尺寸&单位 (阅读:4370)
- CSS圆角制作 (阅读:3840)
- jQuery边框圆角插件:DivCorners (阅读:3150)
- 记录用户体验细节 (阅读:3108)
- iOS可视化编程 Tips 之“无需代码设置圆角” (阅读:3045)
- 自适应圆角 (阅读:2812)
- CSS3圆角详解 (阅读:2731)
- 圆角头像的重构优化 (阅读:2661)
- 小心别让圆角成了你列表的帧数杀手 (阅读:2430)
- -webkit-border-radius圆角属性 (阅读:1570)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Swift错误和异常处理
后一篇:iOS到Android到底有多远 >>
文章信息
- 作者:空之境界 来源: 空之境界
- 标签: UIView 圆角
- 发布时间:2016-02-20 11:43:11
建议继续学习
近3天十大热文
-
[917] WordPress插件开发 -- 在插件使用 -
[135] 解决 nginx 反向代理网页首尾出现神秘字 -
[54] 整理了一份招PHP高级工程师的面试题 -
[52] Innodb分表太多或者表分区太多,会导致内 -
[52] 海量小文件存储 -
[52] 如何保证一个程序在单台服务器上只有唯一实例( -
[51] 全站换域名时利用nginx和javascri -
[50] 用 Jquery 模拟 select -
[49] CloudSMS:免费匿名的云短信 -
[48] jQuery性能优化指南
