iOS——CALayer的shadow无效问题
2024-10-11 00:05:48
CALayer *sublayer = [CALayer layer];
sublayer.backgroundColor = [UIColor purpleColor].CGColor;
sublayer.shadowOffset = CGSizeMake(, );
sublayer.shadowRadius = 5.0;
sublayer.shadowColor = [UIColor blackColor].CGColor;
sublayer.shadowOpacity = 0.8;
sublayer.frame = CGRectMake(, , , );
sublayer.borderColor = [UIColor blackColor].CGColor;
sublayer.borderWidth = 2.0;
sublayer.cornerRadius = 10.0;
[self.view.layer addSublayer:sublayer]; CALayer *imageLayer = [CALayer layer];
imageLayer.frame = sublayer.bounds;
imageLayer.cornerRadius = 10.0;
imageLayer.contents = (id)[UIImage imageNamed:@"snaguosha.png"].CGImage;
imageLayer.masksToBounds = YES;
[sublayer addSublayer:imageLayer]; CALayer *customDrawn = [CALayer layer];
customDrawn.delegate = self;
customDrawn.backgroundColor = [UIColor greenColor].CGColor;
customDrawn.frame = CGRectMake(, , , );
customDrawn.shadowOffset = CGSizeMake(, );
customDrawn.shadowRadius = 5.0;
customDrawn.shadowColor = [UIColor blackColor].CGColor;
customDrawn.shadowOpacity = ;
customDrawn.cornerRadius = 10.0;
customDrawn.borderColor = [UIColor blackColor].CGColor;
customDrawn.borderWidth = 2.0;
customDrawn.masksToBounds = YES;
[self.view.layer addSublayer:customDrawn];
[customDrawn setNeedsDisplay];
以上代码预览如下:
可以看到下方的部分没有阴影,Why?看了半天也没看出什么不一样,后来发现是因为customDrawn.masksToBounds = YES;这句代码导然不存在,如果去掉这行代码会是这样的:
阴影出来了,但是圆角没了。解决办法很简单,像上面图片的方式,里面套一层,masksToBounds作用在里层,外层显示阴影
最新文章
- java复习集合类之List接口
- New library for Matlab - test
- 【gradle】之maven主库找不到Could not find org.restlet.jee:org.restlet:2.1.1
- css 射线实现方法
- Web---演示Servlet的相关类、下载技术、线程问题、自定义404页面
- 腾讯QQ、新浪微博等知名社交网络图标素材
- JQ动画,背景透明度
- java 书籍推荐 JavaEE程序员必读图书大推荐
- 13-(1-4)进程管道关于popen(-r-w)及pipe的程序使用实例
- Mac下安装包管理平台Homebrew(Mac 10.12)
- javaSE_06Java中的数组(array)
- Spring知识点回顾(07)事件发布和监听
- Java-JSON 解析
- 浅析PHP正则表达式的利用技巧
- C# 绘制Word形状——基本形状、组合形状
- 【C#】C#创建自定义Object对象
- jquery validate 详解一
- canvas-star2.html
- 学习下知然网友写的taskqueue
- 11月Android笔记
热门文章
- Session失效之 IE iframe cookie问题(p3p)
- 接微软技术(c#,.net,vb.net, asp.net, sql server, bi, dw etc)项目
- 数据类型安全验证都交给TryParse吧
- heap c++ 操作 大顶堆、小顶堆
- 如何选择 H5 游戏引擎
- maven 环境的配置 JAVA_HOME not found in your envirnment
- 如何使用NodeJs来监听文件变化
- WebView的基本使用方法
- IOS Alcatraz Xcode6.4安装指南
- jQqery EasyUI dategrid行中多列数据的可编辑操作