首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对CAReplicatorLayer实例应用不同的效果

对CAReplicatorLayer实例应用不同的效果
EN

Stack Overflow用户
提问于 2015-11-25 20:21:40
回答 1查看 906关注 0票数 0

我正在尝试使用复制器层来创建我的原始层的反射。问题是我想在每个实例上应用不同的效果(栅格化副本,但保持原始)。使用复制器层可以做到这一点吗?如果不能,你能建议一种实现这一目标的方法吗?

注意:我尝试复制图层,但我不能,因为它们是通过引用复制的,因此任何应用于某个图层的效果都会应用于原始层。

代码语言:javascript
复制
let r = CAReplicatorLayer()
r.bounds = CGRect(x: 0.0, y: 0.0, width: background.frame.width , height: background.frame.height)
r.position = background.center
background.layer.addSublayer(r)

r.addSublayer(masterLayer)
r.instanceCount = 2
r.instanceTransform = CATransform3DMakeRotation(CGFloat(M_PI), 1, 0, 0)
r.masksToBounds = true
r.shouldRasterize = true
r.rasterizationScale = 0.2
EN

回答 1

Stack Overflow用户

发布于 2015-11-27 02:44:59

是的,CAReplicatorLayer的一个限制是您不能直接访问单个复制的实例。

您可以尝试完全绕过CAReplicatorLayer,而是创建您自己的CALayer子类,给它一个数组属性来保存复制的子层(允许您直接访问每个子层),然后赋予它所需的任何类似CAReplicator的功能。当然,这不会是CAReplicatorLayer的临时替代品,我不能说它是否是您正在寻找的解决方案(不知道您试图使用这些单独的层实现什么的细节),但您可能想试一试。

如果你感兴趣,几个月前我在here (源代码here)上发表了一篇简短的文章。希望这能有所帮助!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33916451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档