在UIImageView中的CALayer

时间:2011-12-19 10:59:14

标签: iphone uiimageview calayer layer

我有一个 CALayer ,我想将它用作 UIImageView 。这样我就可以用计时器等移动它...所以这里的图层:

CALayer *rootLayer  = [CALayer layer];

我想用计时器移动它:

Image.center=CGPointMake(Image.center.x +10, Image.center.y );

1 个答案:

答案 0 :(得分:1)

为此,您需要CABasicAnimation。对于计时器,请创建NSTimer。确保计时器使用performSelectorOnMainThread方法之一在主线程上触发方法。

该方法会将CABasicAnimation添加到图层。你必须小心结束位置,就像动画结束时一样,你的图层仍然会在原始位置可见。

要解决此问题,您需要在animationDidStart的{​​{1}}委托回调中更新图层的模型值。

请注意,如果它是一个重复的动画 - 我想这是给你使用计时器 - 你可以使用CABasicAnimation标志。这意味着您可以重复使用相同的动画。查看此问题以获取有关如何使用它的详细信息:

How to reuse an CABasicAnimation when not removed after completion?