问题标签 [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 投票
1 回答
307 浏览

cocoa-touch - 动画平移手势

我写了一个 UIView 的子类,它drawRect:可以自己绘制。它实际上类似于电影的一天时间线 - 它使用刻度和时间文本标签绘制时间轴。它可以放大到几秒钟,缩小到所有 24 小时。当它放大时,它可以用平移手势滚动。所以这里有一个问题:我如何实现简单的动画,当手指抬起时,时间线继续滚动一段时间然后停止(负加速度)?

我想到了两个想法:

  1. 使用另一个线程自己实现动画
  2. 创建新类 - 的子类,CALayer然后使用CABasicAnimation. 将此类添加到我的视图的图层中。但在这里我应该完全将我为视图编写的所有代码移动到CALayer我不想做的新子类。可以吗?

还有其他想法吗?

0 投票
3 回答
6277 浏览

ios - 如何获得停止/恢复 CABasicAnimation 工作的解决方案?

我正在使用 CABasicAnimation 来旋转 UIImageView,但我无法恢复暂停的动画。动画从 viewDidLoad 方法开始:

我需要在视图出现在屏幕上时恢复不间断的可重复动画。所以我已经阅读了这篇文章(在这里)并实施了解决方案,为我的苹果(解决方案)提供了停止和恢复图层动画。所以,我使用了这些方法:

我已经将这些方法添加到 viewWillAppear 和 viewWillDisappear 中,使用并传递 myImage 属性的层:

当视图出现在屏幕上时,图像会进行初始旋转。但随后我将一些 UIViewController 放在屏幕上,然后通过图像旋转返回视图。问题是当视图出现在屏幕上时,图像的旋转没有恢复。我检查过:我的图像 UIImageView 属性不是 nil,viewWillDisappear 和 viewWillAppear 方法都被调用。但是动画没有恢复。我是不是做错了什么,或者错过了什么?

0 投票
1 回答
1079 浏览

iphone - iPhone UIImageView 和 CABasicAnimation

我正在做一个简单的卡片旋转,效果很好,但是当我添加自定义图像背景时,卡片旋转后,图像被切掉了一半。有任何想法吗?

0 投票
2 回答
25575 浏览

iphone - CABasicAnimation 无 HUGE_VALF 无限重复?

我正在尝试使用 CABasicAnimation 自动重复我的图像旋转动画。我试图在网上搜索如何设置此类属性,但无法找到。CA动画真的没有这样的属性吗?我知道您可以为 repeatCount 属性设置一些巨大的值(此处),但是,嘿,为什么 UIView animateWithDuration 有一个选项 UIViewAnimationOptionRepeat 以及为它硬编码的值是什么?

0 投票
3 回答
16498 浏览

ios - 核心动画不适用于“alpha”值

在这段代码之前,我的电影图片 alpha 设置为 0,

什么都没有发生,如果我事先将 alpha 设置为 0.5,则 alpha 将保持在 0.5 并且不会设置为 1。

我看过一个代码UIView beginAnimations:,但我正在教核心动画,所以我想知道为什么 CABasicAnimation 不能完成这样的简单任务?

0 投票
2 回答
1823 浏览

rotation - CABasicAnimation 在旋转期间改变持续时间/速度

我正在使用 CABasicAnimation 永久旋转 imageView,并且我想在旋转期间更改旋转速度。有人可以帮我吗?提前致谢!

0 投票
2 回答
7966 浏览

ios - CABasicAnimation 旋转返回原始位置

我正在使用 CABasicAnimation 旋转 CALayer 并且工作正常。问题是,当我尝试旋转同一图层时,它会在旋转之前返回到原来的位置。我的预期输出是,对于下一次轮换,它应该从它结束的地方开始。这是我的代码:

我的代码有什么遗漏吗?谢谢

0 投票
4 回答
17798 浏览

iphone - 依次运行 CABasicAnimation

我怎样才能让一个 CABasicAnimation 在另一个完成后运行?换句话说,顺序。我已经添加了第二个动画的开始时间,但是似乎第二个动画没有被执行:

知道为什么吗?

0 投票
1 回答
1112 浏览

cocoa-touch - 如何让我的动画在 viewWillAppear 或 viewDidAppear 上运行

当 viewWillAppear 或 viewDidAppear 被调用时,如何让我的动画再次运行?

这是我的动画:

0 投票
1 回答
1250 浏览

ios - 如何在线程中运行 CABasicAnimation

函数 changeLayerBackground 像这样:

我发现animationDidStop:finished:只有在整个循环完成后才调用该函数。

有人对此有任何想法吗?
现在,我认为这是因为动画的委托是自我,即视图控制器。并且动画是由线程调用的,所以委托不起作用。但我不知道如何改变它。我尝试使用线程作为替代,它仍然不起作用。

任何机构都可以帮助我吗?

我的目标是当动画被调用时,循环应该暂停,直到动画完成,然后循环应该继续。直到循环结束。