问题标签 [core-animation]

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 回答
24538 浏览

iphone - 如何在 iPhone 上使用 CALayer?

目前,我有一个 UIView 子类,它在屏幕上“标记”单个 2px x 2px CGLayerRef,最多 160 x 240 次。

我目前通过将 UIView“向上”移动 2 个像素(实际上是 UIImageView)然后绘制下一个“行”来对此进行动画处理。

使用多个 CALayer 层会加快渲染此动画的性能吗?

是否有使用 CALayer 和 iPhone SDK 的教程、示例应用程序或代码片段?

我问的原因是,我发现的大多数演示 CALayer 简单示例的代码片段都使用了不适用于 iPhone SDK 的方法调用。我感谢任何建议或指示。

0 投票
2 回答
3056 浏览

iphone - 使用 Core Animation 的图像序列动画

我目前正在使用带有图像数组的 UIImageView 来创建一个小的循环动画序列,其中包含大约 20 个图像(320x480)。虽然这适用于 20 - 30 张图像,但应用程序在 iphone 上退出。目前我的测试应用程序中没有其他内容,所以我知道这只是动画图像序列。

有没有人遇到过通过 Core Animation 进行此类事情的任何示例,以实现更好的性能并允许更多图像?从我读过的内容来看,听起来可以设置大量的 CALayers 并在每个 CALayers 中放置一个图像,然后通过按顺序打开和关闭图层来创建动画。这是一个好方法吗?

或者,或者,因为我基本上是在循环电影的效果之后,有没有办法使用电影控制器来实现效果而不会在开始和结束时淡入淡出?

我会很感激任何指示。非常感谢。

0 投票
4 回答
4319 浏览

iphone - 触摸事件延迟

我们在 AppStore Bust~A~Spook中有一个应用程序,我们遇到了问题。当您点击屏幕时,我们使用 CALayer 在动画期间查找所有视图的位置,如果您点击其中一个,我们将启动一个骰子序列。但是,有一个明显的延迟,看起来好像触摸被缓冲了,我们收到事件的时间很晚。有没有办法轮询或任何更好的方法来响应触摸以避免这种滞后时间?

这是在 UIView 而不是 UIScrollView

0 投票
2 回答
4369 浏览

iphone - CATransition 在动画开始之前显示从过渡结束的单帧

我正在使用一些最初取自 Apple 示例 ViewTransitions 的代码来交换两个视图。

当我的过渡在设备上执行时,有时我会得到过渡动画最后一帧的单帧闪光,然后动画会流畅播放。这给第二个视图带来了非常不和谐的效果,在平滑动画执行之前它会闪烁然后再次闪烁。

我的示例和 Apple 示例之间的主要区别在于我的视图不是全屏的,我有一个包含两个子视图的容器 UIView,并且我将动画应用到容器层而不是根视图层。我看不出这应该有很大的不同。

此问题在模拟器中根本不会发生,并且在设备上是间歇性的(大约 60-70% 的时间)。是否有其他人看到这种行为,如果有,您是如何解决的?

更新了更多信息: 代码最初是多部分动画的一部分,但我将其移动为由按钮触发以隔离问题。在这两种情况下都会出现此问题。

动画代表已实现,但已被删除以尝试隔离问题。

在动画期间视图没有改变,实际上[container setUserInteractionEnabled:NO]正在被调用(但问题也发生在没有禁用用户交互的情况下)。

我尝试从过渡中间开始动画并在结束之前使用setStartProgressand结束setEndProgress,问题仍然存在。

我也尝试过减慢动画持续时间,但没有任何效果。

0 投票
11 回答
56508 浏览

iphone - CALayer的动画结束回调?

我想知道CALayer中动画的回调在哪里(或者是否有任何东西)。具体来说,对于隐含的动画,比如改变框架、位置等。在 UIView 中,您可以执行以下操作:

具体来说,这setAnimationDidStopSelector是我想要的 CALayer 中的动画。有这样的吗?

TIA。

0 投票
2 回答
516 浏览

iphone - 如何访问视图的图层?

我想对 a 应用转换(旋转)UIImageView。我可以只设置transform视图的属性,但设置图层transform不会让它更快吗?如果是这样,我怎样才能做到这一点?

假设我已经UIImageView使用图像进行了初始化,有人可以帮忙吗?UIVIew里面有a不是更好UIImageView吗?

0 投票
6 回答
3455 浏览

objective-c - NSAnimationContext 结束时如何触发回调?

我有一个动画可以移动一些视图。当这个动画完成时,我希望窗口重新计算 keyview 循环。我的代码类似于以下模拟代码:

这段代码的问题recalculateKeyViewLoop是在视图处于新位置之前调用,这意味着 keyviewloop 是错误的。

我该如何解决?

我的第recalculateKeyViewLoop一个方法是在动画结束时调用回调,但我不知道该怎么做。

0 投票
4 回答
109225 浏览

ios - 如何将透视变换应用于 UIView?

我正在寻找对 UIView 执行透视变换(例如在coverflow中看到的)

有谁知道这是否可能?

我已经使用CALayer并浏览了所有实用程序员 Core Animation 播客,但我仍然不清楚如何在 iPhone 上创建这种转换。

任何帮助、指针或示例代码片段将不胜感激!

0 投票
1 回答
13438 浏览

cocoa - CoreAnimation 图层支持视图和图层托管视图有什么区别?

Core Animation 中的 Layer Backed View 和 Layer Hosting View 有什么区别?

设置每种类型的步骤是什么,何时适合使用任何一种类型?

0 投票
3 回答
1196 浏览

iphone - 仿射变换与关键帧

对于图形专家(我不是)来说,这可能是一个愚蠢的问题,但是仿射变换和关键帧之间有什么区别?我在 iPhone 食谱中读到了前者,她说“仿射变换使您能够通过将对象从一个视图坐标系映射到另一个视图坐标系来更改对象的几何形状”。这让我想起了我玩 Adob​​e After Effects 的时候,你会设置开始、“中间”和结束位置,并且会得到一个漂亮的视觉动画。他们称之为关键帧。那么这个和仿射变换有什么区别。它是 2D 与 3D 的东西吗?谢谢大家。