问题标签 [caanimation]

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.

0 投票
1 回答
1226 浏览

iphone - 如何在 iPhone 上做类似 Path 的动画按钮?

在 Path iphone 应用程序的左下角,有一个 + 号按钮。当按下它时,它会执行一个动画(+ 旋转并且一堆其他按钮向外出现)。

看过这类动画的朋友们,这是怎么做到的呢?这是通过 CAAnimations 完成的吗?

谢谢!

0 投票
2 回答
550 浏览

ios - 在动画 UIView/CALayer 中处理触摸的最佳模式?

我有一个UIView实例,我正在使用CAKeyframeAnimation. 这是一个循环动画,将不断运动。但是,我需要允许用户与该项目进行交互(准确地说是响应点击)。因为 CoreAnimation 只移动表示层而不是模型,所以我不能使用UIButton实例来获取touchUpInside事件。

考虑以下基本示例布局:

在此处输入图像描述

我通过覆盖子类touchesEnded:withEvent:上的方法将蓝色框用于触摸事件UIView。然后我通过一个NSNotification(我真的不想引入很多耦合来处理这个事件)将该事件冒泡到包含的视图控制器,然后hitTest:在红色框上进行动画处理。

所有这一切似乎都很难触摸动画UIView处理动画/实例触摸的最佳模式是什么?UIViewCALayer

0 投票
2 回答
1692 浏览

ios - CAAnimation,回弹

我正在试验 CAAnimation 并且像许多新人一样在做 CAAnimation;完成后,图层将恢复到其原始状态。

关于如何解决这个问题的问题在这里问了几次,答案是将以下代码添加到您的 CAAnimation。

虽然这可行,但根据 Apple 讨论 CAAnimation 的 WWDC 视频,推荐的解决方案是:

所以我很想知道这两者之间的主要区别是什么以及何时使用它们?

0 投票
1 回答
308 浏览

iphone - CATransition 没有从 UIView 子类中的方法设置动画

我的 UIView 子类中有一个方法,它向 CATransition 添加了一个方法layer

我像这样从另一个类中调用它:

然而zoomView只是出现并且不执行转换。

0 投票
1 回答
1055 浏览

ios - 使用 CoreAnimation 同步图像、文本和定位

我是一个动画初学者,并且已经用 CoreAnimation 试验了几天。如果这个问题没有意义,请随时警告我,但我正在努力实现以下目标。我有三个对象:

  • 一个应该是图像,按照给定的模式移动
  • 一个应该是交换两个图像的 UIImage
  • 一个应该是内容发生变化的文本(CATextLayer?)

这三个动作应该同步发生。

例如,考虑一个显示正弦函数的程序,例如心电图,在 -1 和 +1 之间振荡:然后第一张图像将根据当前值移动(-1,-0.9,-0.8,... 0, +0.1, +0.2, ... 1),交换图像将显示“+”表示正值,“-”表示负值,文本将在“Positive”和“Negative”之间交替显示。

我已经尝试过使用 CAAnimationGroup,但我显然遗漏了一些东西。一些代码:

现在......问题:

1)交换图像在每次交换时恢复为原始图像。因此,如果我交换 A->B,我会看到它在预期的持续时间内从 A 变为 B,但随后又恢复为 A。我已经阅读了一些关于 SO 的线程,但无法让它工作.

2)以定时的方式更改文本层的字符串......这个基础设施有可能吗?基本上,我试图让文本和交换图像在第一个图像移动后立即更改,如示例中所述。

3) 为 CABasicAnimation 设置委托没有任何效果,尽管它对 CAAnimationGroup 有效:因此,您不能为每个动画管理像 animationDidStop 这样的事件,而只能针对整个组。有没有其他方法可以做到这一点?

4) 从 3) 开始,是否可以使用 CAAnimationGroup 拦截事件以创建停止/启动行为?假设我想要播放/停止按钮,并从我离开的地方恢复动画?

作为一个决定性的问题,我只想知道是否有人做过类似的事情,最重要的是,这种做事方式(使用 CAAnimationGroup)是否真的是可行的方法,或者使用 CAKeyFrameAnimation 或其他方法是否更好。

0 投票
1 回答
334 浏览

ios - 为具有不同开始时间和相同结束时间的两个视图设置动画

我试图找到一种以这种方式为两个视图设置动画的方法:它们将在不同时间开始动画,但同时结束动画。

想象一场赛马,一匹马接二连三地开始,但他们都同时到达终点线。

它不是分组动画。另外,我如何告诉动画等到某个时间开始?

有没有人对如何做到这一点有任何指示?

TIA

0 投票
5 回答
11066 浏览

objective-c - 如何在同时切换子视图的同时围绕 x 轴翻转 UIView

以前有人问过这个问题,但方式略有不同,我无法得到任何答案以按照我想要的方式工作,所以我希望有出色的 Core Animation 技能的人可以帮助我。

我的桌子上有一组卡片。当用户向上或向下滑动时,一组卡片会在桌子上上下移动。在任何给定时间,屏幕上都会显示 4 张卡片,但只有第二张卡片显示其正面。当用户刷卡时,第二张卡会翻转回其正面,而下一张卡(取决于刷卡方向)会落在显示其正面的位置。

我已经像这样设置了我的卡片视图类:

我尝试使用这段代码翻转卡片:

此代码有效,但它有以下我似乎无法弄清楚的问题:

  1. x 轴上只有一半的卡片是动画的。
  2. 一旦翻转,卡片的正面就会倒置并镜像。
  3. 一旦我翻转了卡片,我就无法让动画再次运行。换句话说,我可以根据需要多次运行动画块,但只有第一次才会动画。随后我尝试制作动画只会导致子视图之间的淡入淡出。

另外,请记住,我需要能够与卡片的表面进行交互。即它上面有按钮。

如果有人遇到这些问题,很高兴看到您的解决方案。更好的做法是为动画添加透视变换,以赋予它额外的真实感。

0 投票
1 回答
467 浏览

iphone - UIImage 从一个 UIImageView 移动到另一个 UIImage 的动画

我已经设法使用 [UIView animateWithDuration... 来完成我在 UI 中需要的动画。现在我想沿着弯曲的路径移动图像,整个 CAAnimation 集群对我来说看起来非常令人生畏。

如果有人可以帮助我填写我希望我可以编码的方法,我将非常感激,它看起来像这样:

如果您认为这种方法有更智能的界面,请随意替换参数(如路径参考)。提前致谢。

0 投票
1 回答
450 浏览

ios - CAAnimation 层取消视图的 previos 变换

我正在对 UIIMageView 使用简单的转换动画。

正如您在完成后看到的那样,我正在向视图中添加另一个抖动动画:

看起来像这样:

问题是当 shakeAnimation开始视图“跳”回到它的原始位置。我该如何防止这种情况以及为什么会发生这种情况?

谢谢

沙尼

0 投票
1 回答
8251 浏览

ios - CABasicAnimation 如何获取当前的旋转角度

我对 CABasicAnimation 有一些问题。它类似于那个帖子:CAB​​asicAnimation 旋转返回原始位置

所以,我有在 touchMove 中旋转的 uiimageview。在执行“惯性动画”的 touchEnd 调用方法中:

这个动画效果很好,但是如果我在 animationRotation 结束之前调用 touchBegan,旋转角度就是 beginValue。我需要当前的旋转角度。作为一个实验,我声明了方法

它似乎工作。但我不知道如何在animationDidStop 中为我的UIImageView 获取角度或CGAffineTransform 的值。甚至有可能做到吗?谢谢。