圆角cornerRadius

先看一下官网解释

Setting the radius to a value greater than 0.0 causes the layer to begin drawing rounded corners on its background. By default, the corner radius does not apply to the image in the layer’s contents property; it applies only to the background color and border of the layer. However, setting the masksToBounds property to YES causes the content to be clipped to the rounded corners.
The default value of this property is 0.0.

白话翻译:

cornerRadius是对背景的一个切割渲染,和内容无关,所以内容超过以后,圆角就会失效,这个时候需要自己注意子视图 或者设置 masksToBounds=YES 直接切割视图

普通切圆角:

 self.layer.masksToBounds = NO;self.layer.cornerRadius = 8;

花式切圆角:

 UIRectCorner corner = UIRectCornerTopLeft | UIRectCornerTopRight;CAShapeLayer *maskLayer = [CAShapeLayer layer];UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:corner cornerRadii:CGSizeMake(e.radius, e.radius)];maskLayer.path = maskPath.CGPath;maskLayer.frame = self.bounds;self.layer.mask = maskLayer;//layer.mask:特殊的CALayer,maskPath外的视图不会显示

边框border

普通边框:

self.layer.borderWidth = 1;
self.layer.borderColor = [UIColor redColor].CGColor;

花式边框:

UIRectCorner corner = UIRectCornerAllCorners;
CAShapeLayer *borderLayer = [CAShapeLayer layer];
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:corner cornerRadii:CGSizeMake(5, 5)];
borderLayer.path = path.CGPath;
borderLayer.strokeColor = [UIColor colorFromHexString:e.borderColor].CGColor;
borderLayer.fillColor = [UIColor clearColor].CGColor;
borderLayer.lineWidth = e.borderWidth;
borderLayer.frame = self.bounds;
[self.layer addSublayer:borderLayer];

阴影Shadow

普通阴影:

self.layer.shadowOpacity = 1;
self.layer.shadowColor = [UIColor lightGrayColor].CGColor;
self.layer.shadowOffset = CGSizeZero;

花式阴影:

self.layer.shadowOpacity = 1;
self.layer.shadowColor = [UIColor lightGrayColor].CGColor;
CGFloat pathX = -3;
CGFloat pathY = -3;
CGFloat pathWidth = self.frame.size.width + 6;
CGFloat pathHeight = self.frame.size.height + 6;
CGRect pathRect = CGRectMake(pathX, pathY, pathWidth, pathHeight);
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:pathRect cornerRadius:0];
self.layer.shadowPath = path.CGPath;

总结:想要圆角、边框、阴影共存,用花式!

iOS 圆角cornerRadius、边框border、阴影Shadow相关推荐

  1. xib 设置阴影_使用“IBInspectable”XIB设置圆角、边框、阴影

    iOS开发中使用xib和storyboard可以节约大量的写UI代码的时间.这也是苹果官方比较推荐的方式.不过使用IB的方式来布局页面难免遇到一些需要设置圆角(cornerRadius).阴影(sha ...

  2. Web前端开发笔记——第三章 CSS语言 第七节 圆角边框、阴影

    目录 前言 一.圆角边框 (一)border-×-×-radius (二)border-radius 二.阴影 (一)基本阴影设置 (二)内部阴影设置 结语 前言 本节介绍仅在CSS3中的新内容,例如 ...

  3. CSS基础「三」盒子模型/产品模块案例/圆角边框/盒子阴影/文字阴影

    本篇文章为 CSS 基础系列笔记第三篇,参考 黑马程序员pink老师前端入门教程 其他CSS基础相关文章: CSS基础「一」基础选择器 / 字体属性 / 文本属性 / 三种样式表 CSS基础「二」复合 ...

  4. CSS学习13之圆角边框及阴影

    回顾 盒子模型 盒子模型它的学名为框模型!但是我觉得叫它盒子模型更加贴切,方便理解! CSS 框模型 所有 HTML 元素都可以视为方框.在 CSS 中,在谈论设计和布局时,会使用术语"盒模 ...

  5. CSS盒子模型/PS基操/圆角边框/盒子阴影/文字阴影/案例

    CSS 03 1. 盒子模型 1.1 看透网页布局的本质 网页布局过程: 先准备好相关的网页元素,网页元素基本都是盒子 Box . 利用 CSS 设置好盒子样式,然后摆放到相应位置. 往盒子里面装内容 ...

  6. CSS的圆角边框以及阴影

    大家好,我们今天分享一下CSS的圆角边框以及阴影 源码实例: <!DOCTYPE html> <html lang="en"> <head>&l ...

  7. border每个边框的阴影(box-shadow属性)

    分别设置border四个边框为不同阴影(box-shadow属性) 一.效果图对比: 二.代码设置: 设置前的代码 box-shadow: none; 设置后的代码 box-shadow: 0px - ...

  8. [iOS]UIButton/UIImageView导圆角设边框

    UIButton/UIImageView导圆角设边框 UIButton部分: UIButton *tempBit = [[UIButton alloc] init];[tempBit setFrame ...

  9. CSS3新技术:圆角、透明、阴影和大小

    CSS是众所周知且应用广泛的网站样式语言,在它的版本三(CSS3)计划中,新增了一些能够节省时间的特性.尽管只有当前最新了浏览器版本才能支持这些 效果,但了解它们还是必须且很有趣味性的.暴风彬彬将在这 ...

最新文章

  1. 微信小程序swiper组件宽高自适应方法
  2. 对C语言main函数中argc和argv[]的理解
  3. 047_Divider分割线
  4. 网络爬虫--8.编码趣闻
  5. 解决springBoot 的templates中html引入css文件失败
  6. 读入字符串/字符 scanf与getchar/gets区别
  7. elasticsearch 文档_ElasticSearch系列04:索引与文档的CURD
  8. 学python能赚钱吗-在校大学生用python当爬虫一个月能赚3000吗?
  9. android 加载so 与内存的关系,Android动态调试so之dump内存数据
  10. 基于jQuery8款超赞的评分插件
  11. 如何将dwt模板移到php,ECSHOP模板文件(dwt)在线编辑器 | Jacklee的博客
  12. Excel如何快速制作文件目录
  13. matlab和vc联合编程
  14. 从底层谈webgis原理设计与实现(二)探究本质,WebGIS前端地图显示之地图比例尺换算原理...
  15. 别让蛋壳跑了、打工人的「爷青回」和今天团购了吗?|极客一周
  16. 618什么数码产品值得入手、好评超高的数码产品排行榜
  17. 积极为开发者提供开源客服系统,春松客服得到有味生活3D商城认可
  18. 你知道怎么给客户朋友圈点赞吗?
  19. 感染人数已经超过6千,何时达到峰值?数学统计建模分析告诉你
  20. android 蓝牙电话号码,Android拨打电话和蓝牙状态监听

热门文章

  1. php网站批量上传图片,php简单实现批量上传图片的方法
  2. box-shadow实现四周阴影
  3. 论文阅读:MAPEL: Multi-Agent Pursuer-Evader Learning using Situation Report
  4. NODEJS 高级使用 RESTful APIPost
  5. spring mysql hibernate.dialect_springboot启动失败的问题('hibernate.dialect' not set)
  6. 2021年在线教育趋势预测
  7. 【从删库到跑路】MySQL数据库的索引(一)——索引的结构(BTree B+Tree Hash),语法等
  8. 上海城市交通信息的智能平台
  9. 减少 Linux 电耗
  10. 阿尔·里斯-市场营销的22条法则(22条商规)-21