《Cocoachina教学:Core_Animation入门》.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Cocoachina教学:Core_Animation入门》.doc

Cocoachina教学:Core Animation入门 /DaemonYang/archive/2009/05/25/4214157.aspx 今天,Cocoachina会开始一个Core Animation的入门教学,和大家共同学习Core Animation的使用。本站介绍过不少Core Animation的文章,这篇文章是一个入门教学,从头帮助你了解Core Animation以及如何入门。 Core Animation是苹果在Leopard中加入的新API,主要用于利用显卡硬件制作动态的用户界面。同时,在iPhone SDK中也支持这种API。在Leopard和iPhone中,你会看到苹果大量使用这种很酷的效果,比如iTunes/iPhone的 CoverFlow效果: ? Core Animation的好处 Core Animation的最大好处是可以帮助Mac或者iPhone的开发者减少代码量。因为如果你想用Core Image或者Open GL实现界面的动画特效,其实也是可以的,主要是非常麻烦。而用Core Animation可以极大简化开发难度和减少代码量。 如果你想用Core Animation建立你自己独特的用户界面,首先强烈建议你有一点艺术感,单单会使用Core Animation不能让你成为艺术家。另外,你最好会用一点Adobe Photoshop或者Adobe Flash,在实现效果之前,先动手画一画,心里大致有个感觉。 本文不会涉及到太深的技术或是数学算法层面,作者本人在这方面非常不精通。本文只是简单地把你从苹果晦涩的技术文档中解救出来,看过这篇文章后你应该可以开始直接在程序里使用Core Animation了。 需要了解哪些 阅读本文之前,最好你已经有一点Cocoa开发的基础,本文不会详述细节。首先,你需要了解Objective-C,如果不了解,可以先看一下本站的新手文章: 另外你还要了解一点Objective-C 2.0的属性说得是什么。同时,你需要了解如何使用XCode,这是比较基本的。 开始 要在Cocoa程序中使用Core Animation,首先要在程序中引用Quartz.framework,另外在.h文件中需要包含 #import Quartz/Quartz.h ? 这样就可以使用了。 ? Core Animation绘图的基础是“层”,叫做CALayer。你可以在View中设置层,层中可以放置更多的层。每个层都可以设定单独的动作,还可以给上 一级的层设置动作,下一级的层就可以跟着上一层进行动作。iPhone官方SDK同样支持CALayer,而在底层的Toolchain中,你需要用的类 叫做LKLayer(Layer Kit),其实是一样的。 ? Core Animation动画的基础主要是CAAnimation和CATransition,CAAnimation主要用于设定层的动作,比如放大缩小旋转等等,而CATransition主要用于比如设置渐变、翻页、切换等一些比较特殊的特效。 ? Core Animation的动画是基于View的,最简单的用法是使用View的animator,修改一下View对象的属性,但是消息发给对象的animator即可。比如从前你可能这么写: [我的一个view set数值:xx]; 那么你现在如果这么写: [[我的一个view animator] set数值:xx],它就会动。 ? 想在View中打开Core Animation支持,你可以用以下方法实现: [我的view setWantsLayer:YES]; 或是 我的view.?setWantsLayer=?YES; 这是Objective C 2.0的写法 再或者在Interface Builder中打开这个选项: ? 创建支持Core Animation的View ? 接下来用一个简单的例子介绍一下如何做一个基于层的View用来支持Core Animation。 ? 首先在Interface Builder里拽一个Custom View,拽进窗口,改名,随便叫什么,比如我改为TestView: ? 在菜单中选择Write Class…,保存到项目中。你就可以在这个View里面做点能动的东西了。 ? 在层中画图 ? 你 可以直接在View里面使用drawLayer:方法画层。不过一般来说,我们都会在层中使用一些图片。要给CALayer设置图片,你只需使用 xxlayer.contents指定contents的属性为一个图片就可以在层上显示图片。只是CALayer需要的图片类型是CGImageRef,而我们比较容易获取的图片类型是NSImage。你可以使用下面的函数将NSImage转换为CG

文档评论(0)

ghfa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档