我有一个 CALayer ,我想将它用作 UIImageView 。这样我就可以用计时器等移动它...所以这里的图层:
CALayer *rootLayer = [CALayer layer];
我想用计时器移动它:
Image.center=CGPointMake(Image.center.x +10, Image.center.y );
答案 0 :(得分:1)
为此,您需要CABasicAnimation
。对于计时器,请创建NSTimer
。确保计时器使用performSelectorOnMainThread
方法之一在主线程上触发方法。
该方法会将CABasicAnimation
添加到图层。你必须小心结束位置,就像动画结束时一样,你的图层仍然会在原始位置可见。
要解决此问题,您需要在animationDidStart
的{{1}}委托回调中更新图层的模型值。
请注意,如果它是一个重复的动画 - 我想这是给你使用计时器 - 你可以使用CABasicAnimation
标志。这意味着您可以重复使用相同的动画。查看此问题以获取有关如何使用它的详细信息:
How to reuse an CABasicAnimation when not removed after completion?