问题标签 [cabasicanimation]

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 投票
3 回答
5280 浏览

ios - UIView:如何用阴影为 CALayer 框架设置动画?

我添加了一个阴影层作为 UIView 层的子层。以下是UIView子类的添加方法:

我想将其保留为UIView使用 shadowSubview 调整动画大小的一部分。但是在使用时找不到正确的方法+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;

请帮助我了解正确的方法。试图了解CABasicAnimation,但找不到将其应用于此案例的方法。

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 投票
0 回答
3227 浏览

iphone - CABasicAnimation- CATransform 图层旋转后的最终位置

我做了研究,看到了很多关于我的问题的问题。我的问题是,我有一个 CATransformLayer,我在其中绘制一个 3D 立方体。现在要旋转立方体,我使用的是 CABasicAnimation,其代码如下:

动画代码如下:

尽管将 removeOnCompletion 设置为 NO 和 setFillMode,但我尝试旋转的 CATransformLayer 并没有在动画后以角度结束。它只回弹到之前的原始位置。

请帮帮我,如果我忽略了任何东西,请告诉我。

0 投票
1 回答
8251 浏览

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

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

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

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

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

0 投票
1 回答
1761 浏览

objective-c - 如何循环包含在 CATransaction 块中的几个 CABasicAnimations?

在 Xcode 4.3.2 中为 iPhone 5.1 使用 Obj.-c;我创建了一个 CALayers 数组,所有这些都来自同一个图像。然后我希望通过 CATransactions 分组同时将 CABasicAnimation 应用于数组中的每个 CALayer。这一切都奏效了。但是,我想重复调用 CATransactions 中包含的 CABasicAnimations 块,但能够在每次同时执行块时单独修改每个动画的属性。例如,我希望每次为每一层上的动画随机更改动画的 from 和 to 值。因为我想重复相同的基本动画,但进行属性修改;将动画的 repeatCount 属性设置为某个高值将不起作用。我尝试在 makeSwarm 方法中使用 for 循环反复调用 animate 方法,使用 animationDidStop 来引发另一个 animate 方法调用,但最终发生的是使用 CATransaction 块而不是在末尾进行新调用,并且还有方法调用本身(将 [self animate]; 放在 animate 方法的末尾);而这些都不起作用。这是基本代码。我认为这很简单,但我没有看到重要的东西。谢谢,赛斯 但我没有看到重要的东西。谢谢,赛斯 但我没有看到重要的东西。谢谢,赛斯

ViewController.h

ViewController.m

0 投票
1 回答
6211 浏览

ios - 使用 Core Animation 的循环、可逆动画

在我的 iOS 5 应用程序中,我有一个UIButton以红色球体为图像的自定义项。点击按钮时,我希望球体开始在红色和绿色之间跳动/褪色。我有红色和绿色图像,并且可以使用以下代码在两者之间成功交叉溶解:

但是,我希望动画永远继续下去(好吧,直到我告诉它停止),也希望动画能够反转和循环。换句话说,淡出红色 -> 绿色 -> 红色,然后重复。

我尝试将上面的动画块放入一个无限循环中(连同一些逻辑来确定褪色是应该从红色 -> 绿色还是绿色 -> 红色),但这只会锁定整个应用程序。

其他解决方案似乎使用 Cocos2d,它似乎相当重量级,因为这是我在应用程序中唯一需要的动画(所以我不想使用这样的框架,除非绝对需要)。

任何帮助将不胜感激。

0 投票
1 回答
896 浏览

ios - 使用 CABasicAnimation 滚动图像数组

我必须一张一张地滚动图像。以下是我正在使用的代码

_imageView 是 UIImageView 并且 imagesArray 是带有对象数组的 NSArray。

我可以看到图像正在滚动,并且正在一一变化。但是这些图像都在不断变化。当图像离开框架/屏幕时,我想一张一张地更改图像。有人可以提出一些想法吗?

0 投票
2 回答
714 浏览

ios - 在另一个 UIImageView 完成后使 UIImageView 动画

我正在尝试动画处理纸牌。目前我有两张牌,庄家牌(dCard1)和玩家牌(pCard1)。

应该发玩家牌,一旦发牌,就应该发发庄家牌。

当前发生的情况是,当我按下发牌按钮时,玩家卡会正确动画,但不是等到玩家卡完成动画,而是庄家卡只出现在dealerTo 位置。它没有动画。我是做动画的新手,任何帮助将不胜感激。

}

0 投票
2 回答
1345 浏览

objective-c - CABasicAnimation 不会在 viewWillAppear 中触发

我在“viewA”的 viewWillAppear 方法中有一个 CABasicAnimation。当我按下 viewA 中的按钮转到 viewB 然后返回 viewA 时, viewWillAppear (viewA)中的 CABasicAnimation 可以正常工作。

但是,当我从 viewA 转到 viewB 时,在 viewB 中我通过按下主页按钮退出应用程序并返回应用程序,在我按下 viewB 中的后退按钮后,viewA 的 viewWillAppear 中的 CABasicAnimation 不会触发。

有趣的是,我在 viewWillAppear 中也有一个动画块,并且在这种情况下触发没有任何问题。因此触发了viewWillAppear方法,只是CABasicAnimation在辞职并进入应用程序后第一次不起作用。

0 投票
2 回答
757 浏览

ios - 循环动画 - 不去

我试图在一个循环内重复一系列动画,在每个循环中随机改变一些参数。这是代码。请问有人知道为什么它不起作用吗?如果我用按钮操作调用它一次,它可以工作,但循环它不会。非常感谢!朱塞佩