<强>前言强>
圆角(RounderCorner)是一种很常见的视图效果,相比于直角,它更加柔和优美,易于接受。但很多人并不清楚如何设置圆角的正确方式和原理。设置圆角会带来一定的性能损耗,如何提高性能是另一个需要重点讨论的话题。我查阅了一些现有的资料,收获良多的同时也发现了一些误导人错误。
<强> 1。使用层属性强>
层。写成backgroundColor=[用户界面颜色cyanColor] .CGColor;//给图层添加背景色 层。内容=(id)[界面图像imageNamed: @ " view_BG.png "] .CGImage;//给图层添加背景图片 层。cornerRadius=8;//将图层的边框设置为圆脚 层。masksToBounds=是的;//隐藏边界 层。borderWidth=5;//给图层添加一个有色边框 层。格林borderColor=[用户界面颜色colorWithRed: 0.52: 0.09蓝色:0.07 alpha: 1] .CGColor; 层。shadowOffset=CGSizeMake (0, 3);//设置阴影的偏移量 层。shadowRadius=10.0;//设置阴影的半径 层。shadowColor=[用户界面颜色blackColor] .CGColor;//设置阴影的颜色为黑色 层。shadowOpacity=0.9;//设置阴影的不透明度
<强> 2。使用绘图设置圆角强>
/* *设置圆形图片(放到分类中使用)*/(用户界面图像*)cutCircleImage { UIGraphicsBeginImageContextWithOptions(自我。大小,不,0.0);//获取上下文 CGContextRef ctr=UIGraphicsGetCurrentContext ();//设置圆形 CGRect中矩形=CGRectMake (0, 0, self.size。宽度,self.size.height); 矩形CGContextAddEllipseInRect (ctr);//裁剪 CGContextClip (ctr);//将图片画上去 (自我图形:矩形); 用户界面图像*图像=UIGraphicsGetImageFromCurrentImageContext (); UIGraphicsEndImageContext (); 返回图像; }
<强> 3。通过另一张面具图创建新图强>
首先需要一张面具图,然后将这张面具图和原图合成,得到带圆角的新图。效率和方法一类似,合成新图等同于在屏幕作图。该方法的优点是可以不局限于圆角,全凭掩码图控制。
<强>小结强>
如果要效率(例如要提高表视图的滚动帧数),就多用方法二。要方便,自然是方法一。如果需要的特殊形状UIBezierPath对象无法构成,则考虑方法三。
<强>总结强>
以上就是这篇文章的全部内容了,希望本文的内容对各位iOS开发者们能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对的支持。