微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将CALayer分成用于动画的子层

如何解决将CALayer分成用于动画的子层

| 我想创建类似于WWDC2011主题演讲中显示的新Lion Mail.app对话动画的动画效果。 http://www.razorianfly.com/wp-content/uploads/Screen-shot-2011-02-28-at-16.31.48.png 当使用具有静态内容(UIImageViews)的10个CALayers时,我有一个原型效果工作,但是我需要知道如何在运行时执行此操作。 如何采用图层层次结构并将其拆分为临时子图层进行动画处理?     

解决方法

        对于iOS上非常相似的事情,我要做的是创建一个屏幕外的位图上下文,使用CALayer调用renderInContext将图层渲染到该图层中,然后使用CGImageCreateWithImageInRect()将生成的图像切片并切成一堆单独的CGImage。然后,我将每个图像安装为一个效果很好的图层的内容。 Bill Dudney核心动画书中有一个名为Confetti的示例iOS应用程序,该示例显示了如何进行切片和切块。 由于您没有非常方便的UIGraphicsBeginImageContext方法,因此在Mac OS中需要做更多的工作,并且必须使用低级CG调用来创建屏幕外上下文,但这在Xcode文档中有所记录。标题为“图形上下文”的部分中的Quartz。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。