问题标签 [cakeyframeanimation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 暂停/重新启动的动画不调用委托方法
我有一个 CAKeyframeAnimation 调用 animationDidStart: 和 animationDidStop:finished:,正如预期的那样,当动画被允许运行时。
当我在中断期间暂停动画(通话、按下 home btn 等)时,animationDidStop:finished: 会触发 NO 标志,正如预期的那样。
但是,重新启动暂停的动画后,animationDidStart: 和 animationDidStop:finished: 永远不会再次触发。动画确实在视觉上继续并完成,但我没有收到该事件。我需要知道动画何时停止,以便重新开始我的游戏循环。
我按照这个暂停/重新启动动画。
请告诉我我做错了什么。谢谢!
iphone - CAKeyframeAnimation 带路径;可以延长路径以延长动画吗?
你会熟悉火车沿着由拼图组成的轨道缓慢移动的游戏——如果你不能在轨道上拼出更多的碎片,火车就会坠毁而你输了。一种方法是让火车遵循 CAKeyframeAnimation 中定义的路径。
创建动画并将其添加到图层后,您可以扩展路径吗?(也许通过保持 CGPathRef 并添加到它)或者您是否需要创建新路径和新动画并替换旧的?
iphone - 基于输入值(触摸)而不是时间的 iPhone 动画
对于完全适合动画组方法的动画效果,如Brad Larson 的答案所示,我需要动画根据输入进行。特别是触摸和检测到的触摸的位置。处理 touchesMoved: 并为每次触摸设置元素的位置很容易,但它不像核心动画方法那样平滑。
想象一个有凹槽的轨道上的大理石。我想在一个方向或另一个方向上以任何速度将弹珠推到任何位置。动画必须做类似的事情,沿着路径移动视觉元素以响应触摸。CAKeyframeAnimation 完全具有路径位,但似乎总是希望从帧到帧的过渡基于经过的时间,而不是任何其他因素,并且在一个方向上。
1 月 31 日更新 - 感谢所有到目前为止的回复,但没有一个真正解决问题。我有一个圆形菜单,可以拖动以选择一个选项。所有这些都需要一起移动,我通过使用一个应用了旋转变换并将逆旋转变换应用到其子视图的视图来解决它,因此图标都以适当的摩天轮方向旋转。不过,当图标沿着略呈卵形的路径动画时,它看起来确实更好......大理石描述是为了弄清楚我想要做什么。也许更好地想象磁铁被定向为排斥所有在凹槽中移动的磁铁 - 移动一个,它的邻居也移动,但不一定沿着被拖动的磁铁移动的方向作为路径曲线移动。
现在的问题是遵循一个用一个圆圈创建的简单路径,但我真的很想知道如何沿着任意路径为对象设置动画,位置完全由触摸控制,不涉及速度或方向的计算。
quartz-graphics - 设置 CGAffineTransform 的起点
我正在使用跟随 CGPathAddEllipseInRect 的 CAKeyframeAnimation 沿圆圈为 UIView 设置动画。但是,无论视图最初位于哪个框架中,视图似乎总是从同一个位置开始。有什么方法可以调整路径上视图的起始位置吗?
谢谢!
objective-c - iOS - 在 UIScrollView 上使用 addSubView
我正在尝试使用这段代码:
我要做的是获取一个稍后将获得 CAKeyFrameAnimate 的图层并将该图层放置在 UIView 中,以便我可以使用标准视图功能:
但我离题了......然后将 UIView 和图层放在 UIScrollView 内,这样我就可以获得所有好的 UIScrollView 功能。
至少这是我相信它在 atm 工作的方式。
目前希望得到一些帮助,它只显示一个白屏,但是当我将第一行替换为:
我得到了一个可以播放但现在放大的动画。
任何帮助,将不胜感激。
编辑: 总之,我想做的是在 UIScrollView 内的 UIView 内的层内有一个 CAKeyFrameAination。这种打包的原因是因为我需要一个可以停止启动和放大的动画。前三行代码会产生一个空白的白屏,但是当我用我将图层放在 myScrollView 上的最后一点替换它们时,它会播放但正如预期的那样,我没有缩放
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
期待一个 UIView 并且如果我告诉它期待一个图层则不起作用。希望这更清楚。
iphone - CAKeyframeAnimation 完成
我的班级中有几个 CAKeyframeAnimation 对象。
他们都有自己作为代表。
在我的 animationDidStop 函数中,我如何知道呼叫来自哪里?
有没有我可以传递给 CAKeyfameAnimation 的变量,比如 animationID 之类的?
谢谢,
三通
cgaffinetransform - 何时使用 CABasicAnimation 和 CAKeyFrameAnimation 和 CGAffineTransform?
何时使用 CABasicAnimation 和 CAKeyFrameAnimation 和 CGAffineTransform?
ios - CAKeyframeAnimation - 沿着路径移动并使用缓动
是否可以使用 CAKeyframeAnimation 沿路径移动某些东西,同时使用某种缓动来实现加速或减速?我知道有timingFunctions 和keyTimes,但如果你只是沿着一条路径移动,我看不出它们会如何工作。
objective-c - 使用 CoreAnimation 动画帧
我正在尝试为滚动视图中某些子视图的位置设置动画。我想在它们滑入时创建特定效果。我只是通过更改 UIView 上的框架来使用隐式动画,但是当它们滑入时,它看起来太机器人化了。所以我希望在它们滑入的地方创造一个反弹效果,走得有点远,然后回到他们想要的位置,几乎就像滚动视图到达终点时的样子,只是有点相反。
无论如何,我无法让它改变框架的原点。我不确定我错过了什么,因为如果我切换出正在动画的内容(将第一个 //* 设置为 /*),它可以很好地改变不透明度。