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

iphone - UIImageView 动画慢

我有一个UIImageView大约 10 个全屏 jpeg,总计约 128k。将这些放入UIImageViewwithsetAnimationImages就像模拟器中的冠军一样,直到我尝试在 iPhone 上运行它导致失败。这里有什么问题吗?我认为对于我看过的所有花哨的 3D 游戏,我的蹩脚的小动画应该可以正常工作。

0 投票
13 回答
32600 浏览

ios - iPhone“滑动解锁”动画

关于Apple如何实现“滑动解锁”(另外,“滑动关闭电源”是另一个相同的例子)动画的任何想法?

我考虑过某种动画蒙版——但出于性能原因,iPhone OS 上不提供蒙版。

是否有一些他们可能使用过的私有 API 效果(如 SuckEffect)?聚光灯类型的效果?一些核心动画的东西?

编辑:这绝对不是一系列剧照。我见过编辑 plist 值或其他内容并在越狱 iphone 上自定义字符串的示例。

0 投票
4 回答
4664 浏览

iphone - 不使用 MPMoviePlayer 在 iPhone 上动画图像(如电影)的方法

我需要能够在静态图像上显示动画。

鉴于 MPMoviePlayer 无法让您控制任何有用的东西,我能想到的唯一方法是使用多个静态图像,我们会(一个接一个地)显示这些图像来创建“类似电影”的动画。

我知道我们可以使用 UIImageView 来做到这一点(通过设置 UIImageView animationImages属性然后调用startAnimation),但是我们的动画中将有超过 100 个图像 - 所以内存使用量将被最大化。

有没有人有任何好的方法来做这种动画?使用核心动画还是 OpenGL?

我的猜测是我们需要创建一个图像缓冲区,当我们加载新图像时,我们会显示图像缓冲区中的图像?

0 投票
2 回答
4751 浏览

cocoa-touch - 带有 Core Graphics 绘图的 Core Animation

我在 UIView 子类中(下面代码中的 CustomView)。

我在 UIImageView 子类(containerView)中的图像周围绘制边框。为此,Core Graphics 代码位于drawInRect:子类内部。

核心动画转换是一个翻转,但是当它被绘制时,核心图形代码没有被使用,即drawInRect:没有被调用来为 CALayer 提供我的渲染图像。

相反,我从一个图像到另一个图像的动画没有发生任何核心图形绘制。

如何允许 CALayer 使用我的 Core Graphics 绘图而不是原始图像进行动画处理?

0 投票
2 回答
3029 浏览

iphone - iPhone SDK:输入一定数量的字符后,动画将无法加载

好的,这是代码:

我让用户输入一些文本,按下按钮,然后用文本替换标签,在页面上的滚动视图中旋转 90 度。

在一定数量的字符之后,例如说 20.. 动画将无法加载。我可以回去,直到动画运行。

关于我哪里出错的任何想法,或者存储文本等的更好方法等?

0 投票
3 回答
1748 浏览

cocoa-touch - 绘制路径时CALayer闪烁

我正在使用 aCALayer通过drawLayer:inContext委托方法显示路径,该方法位于图层所属视图的视图控制器中。每次用户在屏幕上移动手指时,路径都会更新并重新绘制图层。但是,绘图跟不上触摸:在显示路径的最后两个点时总是有轻微的延迟。它也会闪烁,但只是在再次显示最后两三个点时。如果我只是在视图中进行绘图drawRect,它可以正常工作并且绘图绝对足够快。

有谁知道它为什么会这样?我怀疑这与图层缓冲有关,但我找不到任何有关它的文档。

0 投票
2 回答
25405 浏览

iphone - 你如何明确地为 CALayer 的 backgroundColor 设置动画?

我正在尝试构建一个 CABasicAnimation 来为核心动画 CALayer 的 backgroundColor 属性设置动画,但我无法弄清楚如何正确包装 CGColorRef 值以传递给动画。例如:

我认为似乎对 backgroundColor 属性没有任何作用,因为将其作为包裹在 NSValue 中的指针传递并不是传递它的方式。

backgroundColor 是 CALayer 的动画属性,所以我的问题是:你如何设置这个特定属性的 From 或 To 值(最好以 Mac / iPhone 平台无关的方式)?

0 投票
1 回答
2475 浏览

cocoa - 减少 Core Animation 内存使用的技巧

所以情况如下:

我有一个屏幕大小的 CALayer,我将内容属性设置为 2 Mb JPEG,大小约为 3500 x 2000 像素,分辨率为 240ppi。

我预计使用 CALayer 会产生轻微的开销,但我的示例应用程序(仅执行上述操作)显示使用了大约 33Mb RSIZE、22Mb RPVT 和 30Mb RSHRD。我注意到当以 64 位运行应用程序时,这些数字比以 32 位进程运行时要好得多。

我正在做我在这个示例来自的实际应用程序中能想到的所有事情,包括将我的 CGImageRefs 重新采样为仅是图层的大小,但这对我来说似乎无关紧要 - 它不应该更简单吗?

有没有人遇到过减少 CALayers 和 CGI​​mageRefs 使用的内存量的好方法?

0 投票
1 回答
5452 浏览

iphone - Halting In Progress CAKeyframeAnimation

I'm animating a UIView's frame property using a CAKeyframeAnimation on the view's CALayer and animating the "position" property. I'd like to be able to halt the animation at it's current state when the user taps the screen, but I'm unable to do so.

I can halt the animation easily enough by calling

The problem is that neither the view's frame not it's layer's position are updated directly by the animation. If I look at the position property at the time the animation starts and when it ends in

it has not changed.

It seems that you need to do that explicitly when the animation stops. But if the animation stops at some arbitrary point, you don't know how far it's gone. So the question is either how to make the animation update the layer's position property as it goes, or how to know how far the animation has gone when it's been stopped.

0 投票
3 回答
25277 浏览

iphone - 我可以使用 CGAffineTransformMakeRotation 将视图旋转 360 度以上吗?

我正在编写一个 iPhone 应用程序,并且我有一个我想向外旋转的图像。

目前我的代码看起来像这样(包装在 beginAnimations/commitAnimations 块中):

但我发现如果我尝试将旋转角度更改为 4*M_PI,它根本不会旋转。是否可以使用 CGAffineTransformRotate 进行 720˚ 旋转,还是我必须切换到另一种技术?

如果我必须切换到另一种技术,您会建议使用另一个线程(或计时器)自己制作动画,还是 OpenGL 是更好的选择?

谢谢,
布莱克。