关于iphone:UIImageView中的CALayer

CALayer in a UIImageView

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

1
CALayer *rootLayer  = [CALayer layer];

我想用这样的计时器来移动它:

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

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

该方法会将 CABasicAnimation 添加到图层中。您必须注意结束位置,因为当动画结束时,您的图层仍将在其原始位置可见。

要解决这个问题,您需要在 CABasicAnimation.

animationDidStart 委托回调中更新层的模型值

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

CABasicAnimation 完成后未移除时如何重用?