前言

圆角(RounderCorner)是一种很常见的视图效果,相比于直角,它更加柔和优美,易于接受。但很多人并不清楚如何设置圆角的正确方式和原理。设置圆角会带来一定的性能损耗,如何提高性能是另一个需要重点讨论的话题。我查阅了一些现有的资料,收获良多的同时也发现了一些误导人错误。
1. 使用layer属性
layer.backgroundColor = [UIColor cyanColor].CGColor; // 给图层添加背景色 layer.contents = (id)[UIImage imageNamed:@"view_BG.png"].CGImage; // 给图层添加背景图片 layer.cornerRadius = 8; // 将图层的边框设置为圆脚 layer.masksToBounds = YES; // 隐藏边界 layer.borderWidth = 5; // 给图层添加一个有色边框 layer.borderColor = [UIColor colorWithRed:0.52 green:0.09 blue:0.07 alpha:1].CGColor; layer.shadowOffset = CGSizeMake(0, 3); // 设置阴影的偏移量 layer.shadowRadius = 10.0; // 设置阴影的半径 layer.shadowColor = [UIColor blackColor].CGColor; // 设置阴影的颜色为黑色 layer.shadowOpacity = 0.9; // 设置阴影的不透明度
2. 使用绘图设置圆角
/** 设置圆形图片(放到分类中使用) */
- (UIImage *)cutCircleImage {
UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0); // 获取上下文
CGContextRef ctr = UIGraphicsGetCurrentContext(); // 设置圆形
CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);
CGContextAddEllipseInRect(ctr, rect); // 裁剪
CGContextClip(ctr); // 将图片画上去
[self drawInRect:rect];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
3. 通过另一张mask图创建新图
首先需要一张mask图,然后将这张mask图和原图合成,得到带圆角的新图。效率和方法一类似,合成新图等同于在off-screen作图。该方法的优点是可以不局限于圆角,全凭mask图控制。
小结
如果要效率(例如要提高table view的滚动帧数),就多用方法二。要方便,自然是方法一。如果需要的特殊形状UIBezierPath对象无法构成,则考虑方法三。
总结
以上就是这篇文章的全部内容了,希望本文的内容对各位iOS开发者们能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对的支持。
# ios
# label设置圆角
# ios高效设置圆角
# 设置圆角
# iOS应用开发中UIView添加边框颜色及设置圆角边框的方法
# IOS设置按钮为圆角的示例代码
# iOS设置圆角的三种方式
# IOS设置UIView的边框为圆角详解及实例
# iOS中设置view圆角化的四种方法示例
# iOS设置圆角的三种方法
# iOS设置可选择圆角方向的控件圆角
# iOS设置圆角的4种方法实例(附性能评测)
# 圆角
# 图层
# 新图
# 明度
# 是一种
# 很多人
# 这张
# 这篇文章
# 谢谢大家
# 设置为
# 局限于
# 不透
# 画上
# 全凭
# 背景色
# 类中
# 如何设置
# 发现了
# 帧数
# 偏移量
相关文章:
Swift中swift中的switch 语句
如何在万网自助建站平台快速创建网站?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
XML的“混合内容”是什么 怎么用DTD或XSD定义
如何挑选最适合建站的高性能VPS主机?
中山网站推广排名,中山信息港登录入口?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
如何在宝塔面板创建新站点?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
电商平台网站制作流程,电商网站如何制作?
建站之星后台管理系统如何操作?
香港网站服务器数量如何影响SEO优化效果?
平台云上自主建站:模板化设计与智能工具打造高效网站
岳西云建站教程与模板下载_一站式快速建站系统操作指南
高防服务器租用如何选择配置与防御等级?
深圳网站制作的公司有哪些,dido官方网站?
C#怎么创建控制台应用 C# Console App项目创建方法
内部网站制作流程,如何建立公司内部网站?
如何选择适合PHP云建站的开源框架?
PHP 500报错的快速解决方法
制作农业网站的软件,比较好的农业网站推荐一下?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
东莞专业制作网站的公司,东莞大学生网的网址是什么?
网站制作需要会哪些技术,建立一个网站要花费多少?
清除minerd进程的简单方法
建站主机选购指南:核心配置与性价比推荐解析
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
如何用PHP快速搭建高效网站?分步指南
宝塔新建站点报错如何解决?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
如何通过FTP服务器快速搭建网站?
建站之星ASP如何实现CMS高效搭建与安全管理?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
如何快速搭建高效简练网站?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
魔方云NAT建站如何实现端口转发?
如何快速搭建支持数据库操作的智能建站平台?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
如何用已有域名快速搭建网站?
如何注册花生壳免费域名并搭建个人网站?
定制建站价位费用解析与套餐推荐全攻略
如何通过建站之星自助学习解决操作问题?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
c# await 一个已经完成的Task会发生什么
*请认真填写需求信息,我们会在24小时内与您取得联系。