Xcode中的线条动画(Line animation in Xcode)

我想在xcode中做动画线条画。 我正在为iPhone开发。 我找到了一些使用CABasicAnimation的教程。 但是,当我尝试创建这样的CABasicAnimation对象时

CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];

我收到一个错误:使用未声明的标识符CABasicAnimation。

我是否需要一些库来使用CABasicAnimation对象? 我不确定这是怎么回事。 是否有任何教程可以解释Xcode中完整的动画过程,因为我发现的所有内容都是从定义CABasicAnimation对象开始的,没有任何解释我之前应该配置或导入的内容。

我正在使用XCode 4.4.1和Mountain Lion。 非常感谢!


I am trying to do animating line drawing in xcode. I am developing for iPhone. I found some tutorials which use CABasicAnimation. But, when I try to create an CABasicAnimation object like this

CABasicAnimation *pathAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];

I get an error: use of undeclared identifier CABasicAnimation.

Do I need some library for using CABasicAnimation object? I am not sure how is this working. Is there any tutorial that explain complete process of animation in Xcode, because all I found is starting with defining CABasicAnimation object, without any explanation what should I configure or import before.

I am using XCode 4.4.1 and a Mountain Lion. Thanks a lot!


原文:https://stackoverflow.com/questions/12704362
2023-01-12 12:01

相关文章

更多

android 微信摇一摇动画效果

两张图片相对平移滑动, public void startAnim() { // 定义摇一摇动画动画 ...

Cheatsheet: 2011 05.01 ~ 05.09

Mobile Android-x86 Project - Run Android on Your ...

JSP页面显示箭头线条交互图

如何在JSP页面显示下图,其中横向箭头数据从数据库中获得,个数可多可少,并且箭头线条可以点击。

android仿微信的activity平滑水平切换动画

看到网上好多播客中都说用 overridePendingTransition(android.R.an ...

HTML5 Canvas 图像动画的实现

内容摘要:Canvas 中 clearRect 清除函数;setInterval与clearInter ...

如何解决第三方类库无法通过armv7s编译的方法

在使用友盟,微信的SDK的时候发现很多第三方库,在Xcode4.5及以上版本的版本无法编译通过,之后在 ...

《FLAS动画全面掌握》全彩版[PDF]

中文名: FLAS动画全面掌握 作者: 孙舒 图书分类: 软件 资源格式: PDF ...

“收费”了微信,红了Line

当一群不明真相的群众踊跃的讨论微 信收费与否这个命题时,话题感的上升,自然会带来一些产业的附加效应。对 ...

【随笔】微信删除加载动画

  昨天晚上发生了些不大愉快的事,在微信上删掉了和一个人的聊天记录,由于记录太多于是删除的时候微信的“ ...

最新问答

更多

您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)

将diff文件复制到存储库的根目录,然后执行以下操作: git apply yourcoworkers.diff 有关apply命令的更多信息, apply 见其手册页 。 顺便说一下:一个更好的方法是通过文件交换整个提交文件是发送者上的命令git format-patch ,然后在接收器上加上git am ,因为它也传送作者信息和提交信息。 如果修补程序应用程序失败,并且生成diff的提交实际上在您的备份中,则可以使用尝试在更改中合并的apply程序的-3选项。 它还适用于Unix管道,如下

将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)

尝试将第二行更改为snprintf(buf1, sizeof buf1, "%.2f", balance1); 。 另外,为什么要声明用该特定表达式分配缓冲区的存储量? EDIT @LưuVĩnhPhúc在下面的评论中提到我的原始答案中的格式说明符将舍入而不是截断,因此根据如何在不使用C舍入的情况下截断小数,您可以执行以下操作: float balance = 200.56866; int tmp = balance1 * 100; float balance1 = tmp / 100.0; c

OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)

这是简单的解决方案 在你需要写的控制器中 BackendMenu::setContext('Archetypics.Team', 'website', 'team'); 请参阅https://octobercms.com/docs/backend/controllers-views-ajax#navigation-context BackendMenu::setContext('Author.Plugin name', 'Menu code', 'Sub menu code'); 你需要在r

页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)

每当发出请求时ASP都会创建一个新的Page对象,并且一旦它将响应发送回用户就不会保留对该Page对象的引用,因此只要你找不到某种方法来保持生命自己引用该Page对象后,一旦发送响应, Page和只能通过该页面访问的所有对象才有资格进行垃圾回收。 ASP creates a new Page object whenever a request is made, and it does not hold onto the reference to that Page object once it

codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)

要在生产服务器中调试这个,你可以临时放 error_reporting(E_ALL); 并查看有哪些其他错误阻止正确的重定向。 您还应该检查生产服务器发送的响应标头。 它是否具有“缓存”,是否需要重新验证标头等 to debug this in production server, you can temporary put error_reporting(E_ALL); and see what other errors are there that prevents the proper

在计算机拍照在哪里进入

打开娥的电脑.在下面找到视频设备点击进去就可以了...

使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)

你是对的。 第一次输入后,换行符将保留在输入缓冲区中。 第一次读取后尝试插入: cin.ignore(); // to ignore the newline character 或者更好的是: //discards all input in the standard input stream up to and including the first newline. cin.ignore(numeric_limits::max(), '\n'); 您必须为#inc

No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)

for (int k = 0; k > 10; k++) { System.out.println(k); } k不大于10,所以循环将永远不会执行。 我想要什么是k<10 ,不是吗? for (int k = 0; k < 10; k++) { System.out.println(k); } for (int k = 0; k > 10; k++) { System.out.println(k); } k is not greater than 10, so loop

单页应用程序:页面重新加载(Single Page Application: page reload)

优点是不注销会避免惹恼用户,以至于他们会想要杀死你:-)。 说真的,如果每次刷新页面时应用程序都会将我注销(或者在新选项卡中打开一个链接),我再也不会使用该应用程序了。 好吧,不要这样做。 确保身份验证令牌存储在刷新后的某个位置,即不在某些JS变量中,而是存储在cookie或本地存储中。 The advantage is that not logging off will avoid pissing off your users so much that they'll want to kill

在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)

EXECUTE IMMEDIATE 'SELECT '||field_val_temp ||' FROM tableb WHERE function_id = :func_val AND rec_key = :rec_key' INTO field_val USING 'STDCUSAC' , yu.rec_key; 和, EXECUTE IMMEDIATE 'UPDATE tablec SET field_val_'||i||' = :field_val' USI