首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CAKeyframeAnimation -示例

CAKeyframeAnimation -示例
EN

Stack Overflow用户
提问于 2010-04-14 10:13:37
回答 1查看 6.6K关注 0票数 4

我有一个菜单,它是一个CALayer,可以在屏幕上滑动到给定点。我想要的效果是,菜单会稍微超出点,然后在点之前一点,然后落在点上。我可以通过应用变换来移动菜单,但我希望让这个弹跳效果发挥作用。我正在查找CAKeyframeAnimation,但我在查找示例/教程时遇到了问题。我看过CA编程指南,但没有真正找到任何东西。任何链接或帮助都会很棒。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-26 00:26:56

我不久前发布了some code,它做的正是你想要的。基本上,您需要生成自己的CGPathRef,其中包含希望层命中的所有点,并将该路径用于CAKeyframeAnimationpath属性。代码将如下所示:

代码语言:javascript
复制
CGPoint path[3] = {
    FTAnimationOutOfViewCenterPoint(enclosingView.bounds, view.frame, view.center, direction),
    [self overshootPointFor:view.center withDirection:direction threshold:(overshootThreshold_ * 1.15)],
    view.center
};

CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
CGMutablePathRef thePath = CGPathCreateMutable();
CGPathAddLines(thePath, NULL, path, 3);
animation.path = thePath;
CGPathRelease(thePath);

整个方法都是here

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

https://stackoverflow.com/questions/2634457

复制
相关文章

相似问题

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