iOS 小知识-添加shadow(阴影)
来源:互联网 发布:2017网络星期一 编辑:程序博客网 时间:2024/05/14 19:05
普通添加
let layer = view.layer layer.shadowColor = UIColor.black.cgColor//阴影颜色 layer.shadowOffset = CGSize(width: 10, height: 10)//width表示阴影与x的便宜量,height表示阴影与y值的偏移量 layer.shadowOpacity = 0.4//阴影透明度,默认为0则看不到阴影 layer.shadowRadius = 5;
解释:
1.shadowColor:阴影颜色,可设置透明度等.2.shadowOffset:偏移量.,xy表示view左上角,width表示阴影与x的偏移量,height表示阴影与y值的偏移量3.shadowOpacity = 0.4//阴影透明度,默认为0则看不到阴影.因此要看到阴影这个值必须大于0,shadowColor的透明度也要大于04.shadowRadius:5.模糊计算的半径,取平均值的半径,设置为0的话则为一个矩形块.5.模糊度的解释:每一个像素取平均值,分母的取值范围,越大越模糊.感觉这篇文章讲的比较容易懂(http://www.dongcoder.com/detail-22914.html).6.注意:如果clipsToBounds设置为YES,则阴影效果消失
自定义添加
自定义阴影形状和位置则需要使用path.把view想象成一块画布,在上面绘制阴影位置和区域,一般会超出这块画布
func addPathShadow(view:UIView) { //用路径定义shadow位置和形状 let size = view.bounds.size let width = size.width let height = size.height let depth = CGFloat(11.0) let lessDepth = 0.8 * depth let curvyness = CGFloat(5) let radius = CGFloat(1) let path = UIBezierPath() // top left path.move(to: CGPoint(x: radius, y: height)) // top right path.addLine(to: CGPoint(x:width - 2 * radius,y:height)) // bottom right + a little extra path.addLine(to: CGPoint(x: width - 2*radius, y: height + depth)) // path to bottom left via curve path.addCurve(to: CGPoint(x: radius, y: height + depth), controlPoint1: CGPoint(x: width - curvyness, y: height + lessDepth - curvyness), controlPoint2: CGPoint(x: curvyness, y: height + lessDepth - curvyness)) let layer = view.layer layer.shadowPath = path.cgPath layer.shadowColor = UIColor.black.cgColor layer.shadowOpacity = 0.3 layer.shadowRadius = radius layer.shadowOffset = CGSize(width: 0, height: -3) }
参考资料
四个demo
0 0
- iOS 小知识-添加shadow(阴影)
- UIview添加阴影效果Shadow
- box-shadow 添加阴影效果Css3
- box-shadow是向盒子添加阴影
- box-shadow 为元素添加阴影
- Shadow阴影
- ios 图片添加阴影
- iOS TabBar添加阴影
- css3 box-shadow 为DIV添加阴影
- Android xml中为文字添加阴影(shadow方法)
- css3 text-shadow 为网页字体添加阴影
- 如何给边框添加阴影效果:box-shadow
- css3中box-shadow被用来添加阴影
- IOS 中view 添加阴影
- iOS-为视图添加阴影
- IOS View 添加阴影效果
- iOS为视图添加阴影
- iOS 给文字添加阴影
- 建立一个Odoo Module (二)- Basic views、Relational fields
- 服务器迁移记事
- HDU-5900-QSC and Master(区间DP)
- android的selector背景选择器
- Linux命令(27):df
- iOS 小知识-添加shadow(阴影)
- 关于多线程,线程安全,及单例多例的详解1
- Android实现按钮监听的几种方式
- about to fork child process, waiting until server is ready for connection
- Webkit 浏览器默认焦点查找算法
- Excel绘制散点图并拟合输出公式和R值
- 验证码制作
- Android 文件存储
- R中关于显示标签的几个问题