iOS 定义View任意角为圆角
2016-03-17 17:53
465 查看
在开发过程中,经常会遇到过圆角的控件,如头像,按钮,这一类的需求一般都是定义4个角都是圆角,只需定义它图层的圆角度就行
以上代码就是为View添加一个角度为10的圆角
设置View边框颜色
设置View边框宽度
如果设置图片,发现角没有发生变化,你可以设置图片layer.masksToBounds的属性为YES即可
以上方法很简单,方便,但是,我在开发过程中遇到了一种蛋疼的问题,cell的上面2个角为直角,下面2个角为圆角,找了很多方法都不行,最后查资料发现了下面的方法
其中byRounding 是设置指定哪个是圆角,如果是多个角,用"|"分割,有以下四个选项
cornerRadii:CGSizeMake(5,5) 是设置圆角的程度
UIView * view= [[UIView alloc]initWithFrame:CGRectMake(100,100,100,100)]; view.backgroundColor= [UIColor blueColor]; view.layer.cornerRadius=10; view.layer.borderColor=[UIColor redColor].CGColor; view.layer.borderWidth=1; [self.view addSubview:view];
以上代码就是为View添加一个角度为10的圆角
设置View边框颜色
view.layer.borderColor=[UIColor redColor].CGColor;
设置View边框宽度
view.layer.borderWidth=1;
如果设置图片,发现角没有发生变化,你可以设置图片layer.masksToBounds的属性为YES即可
headImage.layer.maskToBounds=YES
以上方法很简单,方便,但是,我在开发过程中遇到了一种蛋疼的问题,cell的上面2个角为直角,下面2个角为圆角,找了很多方法都不行,最后查资料发现了下面的方法
+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii这个方法就可以轻松添加圆角遮罩其代码如下
UIView * view= [[UIView alloc]initWithFrame:CGRectMake(100,100,100,100)]; view.backgroundColor= [UIColor blueColor]; [self.view addSubview:view]; UIBezierPath*maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners: UIRectCornerBottomLeft|UIRectCornerBottomRight cornerRadii:CGSizeMake(10,10)]; CAShapeLayer*maskLayer = [[CAShapeLayer alloc]init]; maskLayer.frame= view.bounds; maskLayer.path= maskPath.CGPath; view.layer.mask= maskLayer;这样,设置出来的View就可以指定某个或某几个角为圆角
其中byRounding 是设置指定哪个是圆角,如果是多个角,用"|"分割,有以下四个选项
UIRectCornerTopLeft 左上 UIRectCornerTopRight 右上 UIRectCornerBottomLeft 左下 UIRectCornerBottomRight 右下
cornerRadii:CGSizeMake(5,5) 是设置圆角的程度
相关文章推荐
- IOS之@property 的理解
- pod小问题
- iOS -- 处理推送消息
- iOS项目中安装和使用 Cocoapods
- 关于iOS的学习路线图 (分享)
- iOS用CGContextRef画图
- iOS 时区问题总结 NSTimeZone
- ios开发模仿CocoaChina精选代码使用masonry计算cell的高度总结
- 【原】IOS合并lib(.a)库的终极可用方法(可用于解决duplicate symbol静态库冲突)
- IOS tabbar用法
- iOS: 如何在工程中设置 DEBUG 模式?
- iOS分享【OC】—— 浅谈 GCD
- storyboard 的一些简单应用
- IOS学习 NSNavigationController 自定义:左右按钮、中间文字、背景图片
- 3.2-nagios自定义监控系统磁盘脚本
- iOS 定义多个参数函数的写法
- IOS 返回JSON数据中存在NULL的解决办法
- iOS 打电话
- iOS 开发小记(十二)
- iOS粒子效果