通过代码,至少有三种方法可以为视图加上圆角效果。附例子:
https://github.com/weipin/RoundedCorner
方法一、layer.cornerRadius
第一种方法最简单,通过层对象的cornerRadius属性实现圆角效果,代码如下:
view.layer.cornerRadius = 8.0;
view.layer.masksToBounds = YES;
缺点是会有2次rending passes。首先off-screen画出带圆角的图,然后在视图上画第二次。
方法二、通过UIBezierPath对象设置带圆角的作图区域
这种方法的好处是只有一次rending pass,是三种方法中效率最高的。缺点是需要override视图。代码如下:
- (void)drawRect:(CGRect)rect {
CGRect bounds = self.bounds;
[[UIColor whiteColor] set];
UIRectFill(bounds);
[[UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:8.0]addClip];
[self.image drawInRect:bounds];
}
方法三、通过另一张mask图创建新图
首先需要一张mask图,然后将这张mask图和原图合成,得到带圆角的新图。效率和方法一类似,合成新图等同于在off-screen作图。该方法的优点是可以不局限于圆角,全凭mask图控制。
总结:
如果要效率(例如要提高tableview的滚动帧数),就多用方法二。要方便,自然是方法一。如果需要的特殊形状UIBezierPath对象无法构成,则考虑方法三。
例子:https://github.com/weipin/RoundedCorner
例子中,tab 1是无圆角效果,其他三个tab各自对应三种方法。
IOS_视图实现圆角效果的三种方法及比较 css实现圆角边框
更多阅读
宠物航空托运的两种方法及两种方法的利弊比较 深圳航空宠物托运
?我们在宠物航空托运时,常常会问到一个问题:如果人不回去,小狗小猫可否回去,这个问题很有普遍性,所以航强物流在这里给大家作一下解答:宠物托运实际上有两种方法:1、走货运渠道。2、随机托运 关于上面两种说法到底是什么意思呢?1、
iPhone手机丢了怎么找回的三种方法! iphone5s丢了怎么找回
iPhone手机丢了怎么找回的三种方法!——简介iPhone丢失先不要着急,希望下面的三套找回iPhone方案对你真的有用,就算iPhone无法找回来也能把去向弄的清清楚楚,相信本方案可以提供一些帮助!iPhone手机丢了怎么找回的三种方法!——工具/原料
西湖龙井茶的三种泡法 西湖龙井茶产于
西湖龙井茶的三种泡法——简介西湖龙井茶的泡法和水很有关系,西湖泉水众多,有玉泉、龙井泉、虎跑泉和狮峰泉等,水质以虎跑最优。一般选用无色透明、晶莹剔透的玻璃杯,或青花白瓷茶盏。每杯撮上3克茶叶,加水至茶杯或茶碗的1/5---1/4。水温
披肩的三种时尚系法图解 简单的披肩的织法图解
披肩和围巾不仅可以用来御寒,还能成为美丽的装饰。许多人虽然有数条披肩和围巾,但却只会一种系法。偶尔也变换一下系法,享受不同的搭配样式带给您的乐趣吧。披肩的三种时尚系法图解——步骤/方法披肩的三种时尚系法图解 1、水手结系法
教你如何禁用U盘、屏蔽USB端口的三种方法 游戏端口被屏蔽
在企业里面,有时候我们处于电脑自身安全、商业机密保护的需要,常常要禁用电脑USB接口,尤其是禁用带有USB存储功能的设备,如U盘、移动硬盘和手机存储卡等,但同时又不能完全屏蔽USB接口的使用,因为现在很多的鼠标和键盘都是USB端口。这种情