问题标签 [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.
ios - 定义不透明度的 CAKeyframeAnimation 路径?
CAKeyframeAnimation 可以与路径而不是关键帧值一起使用来动画(非位置)属性吗?这是关键代码:
但是,这不能正常工作-不透明度确实可以平滑地动画,尽管不是单调的或完全根据路径的变化(假设路径从 (0.0,0.0) 到 (1.0,1.0) 像缓动一样“标准化”功能)。请注意,我没有为位置设置动画或在路径上移动图层,但希望将其用于任何可动画属性。
文档中有一些含糊之处,表明可以使用路径来有效地定义动画时间与动画属性的传递函数(从而替代将基于该传递函数创建的关键帧值数组) . 同样在“关键帧计时和起搏扩展”的 iOS 6 文档中,确实试图澄清路径与值的使用,但仍然模棱两可。
ios - RotationMode 在 CAKeyframeAnimation(线性路径)中不起作用
我试图让我的视图旋转,只要它通过路径(线性路径),但它不会旋转。
这是我的代码:
但是imageView(图中蓝脸)并没有沿路径旋转(图中红线)
太感谢了。
ios - 使用 CGPathAddArcToPoint 构建路径的 CAKeyframeAnimation 不起作用
我有一个 keyframeAnimation 并定义了一个路径,但动画不起作用。
你看有什么不对吗?:S
这是代码:
太感谢了
ios - 动画期间无法获取 CALayer 的当前位置
我正在尝试实现一个动画,当你按住一个按钮时,它会向下移动一个块,当你释放它时,它会动画回到原来的位置,但是无论如何我都无法获得动画块的当前位置。这是我的代码:
但是线
只返回目标位置而不是当前位置。一旦我释放按钮,我基本上需要给我动画容器的当前位置,这样我就可以执行下一个动画。我现在所拥有的不起作用。
uiview - 临时设置 UIView 的锚点,直到关键帧动画之后
设置我的 UIView 的锚点(到 0.5、1.0)会导致我的布局出现各种问题。只要我需要它,我就不能暂时更改它吗?
ios - CALayer 上变换属性的 CAKeyFrameAnimation 未按预期工作
我已经为此工作了一段时间,并彻底搜索了一个解决方案,但无济于事。这是我想要做的。
我有一个 UIScrollView,用户可以在其上缩放和平移 5 秒。我有一个单独的 CALayer,它没有分层在 UIScrollView 之上。我想缩放和翻译这个 CALayer 的内容以反映 UIScrollView 上发生的缩放和平移。我想通过关键帧动画来实现这一点CAKeyFrameAnimation
。当我将其放入代码中时,缩放按预期进行,但内容的位置偏移不正确。
这是我在代码中的做法。假设UIScrollView
委托将缩放比例和内容偏移量传递给以下方法:
当上面的图层动画时,内容被正确缩放,但位置不正确。内容似乎比我预期的要多x
,y
因此不能完全追溯用户在 UIScrollView 上所做的缩放/平移。
有什么想法我可能做错了吗?
回答
好的,我知道我做错了什么。它与 CALayer 的锚点有关。CALayers 上的变换总是应用于锚点。对于 CALayers,锚点默认为 (0.5, 0.5)。所以缩放和平移是沿着中心点进行的。另一方面,UIScrollViews 从视图的左上角给出偏移量。基本上,您可以将 UIScrollView 的锚点视为(0.0,0.0),以考虑 CGPoint 偏移值。
所以解决办法就是将CALayer的锚点设置为(0.0, 0.0)。然后一切都按预期工作。
还有其他资源以更好的方式呈现此信息。请参阅 Stackoverflow 上类似的另一个问题。另请参阅Apple 文档中的这篇文章,其中详细讨论了几何中的位置、锚点和一般层。
uibezierpath - 两条 CGpaths - 1 CAAnimation - 但应该重复第二条路径
如果我有一条从屏幕顶部开始并逐渐向下变成椭圆形的路径。我想一次在椭圆形的动画中不断重复椭圆形。如何使用 CAKeyframeAnimations 执行此操作?我有两个并延迟第二个吗?我是否要等待第一个完成然后添加第二个?还是有其他方法?
这是我的路径
uibezierpath - 如何在运行中编写一个固定点和一个变化点的贝塞尔曲线路径
如果我有一个执行此 CAKeyframe 动画路径的对象(它只是 iphone 上部区域的椭圆形..
现在想象一下,在这条路径旅行期间的任何时候,我想从它的当前位置在某个时间点和屏幕底部的某个点创建一条平滑的路径。
顺便说一句,我假设一旦有了路径,我就可以停止当前的 CAKeyframeAnimation 并将此路径添加到新的 CAKeyframe 动画中,但如果这不正确,您也可以在这里给我指点。
iphone - 当repeatCount 为huge_val 时,我如何知道动画(CAKeyFrameAnimation)完成时的迭代次数?
我正在开发一款赛车游戏,每辆车都在一条路径上行驶。由于比赛是基于时间的,我将 repeatCount 设置为错误值。现在的问题是我无法计算比赛结束时完成了多少圈(换句话说动画重复了多少次)。我尝试将 CGIntersectRect 用于汽车的框架和计时器函数中的某个起点,因为它永远不准确。
ios - CAKeyFrameAnimation 在重复之前延迟
我有一个围绕路径制作动画的球图像。动画设置为永远重复,但为什么重复之间会有延迟?
这是我的代码: