这就是我想要做的事情:将CALayer作为子图层添加到antoher图层,然后立即为其设置动画。添加图层的位置在当前视图之外,并且应该“飞”到视图中。这一切都发生在UIViewController。
以下是我的代码基本上是这样的:
mysublayer.position = CGPointMake(-160.0, -250.0);
[self.view.layer addSublayer:mysublayer];
[CATransaction begin]; // outer transaction
[CATransaction setValue:[NSNumber numberWithFloat:2.0f]
forKey:kCATransactionAnimationDuration];
mysublayer.position = CGPointMake(160.0, 250.0);
mysublayer.opacity = 1.0;
[CATransaction commit];
发生的情况是,子层立即出现在新位置(160,250)而没有动画。我认为我做了一些根本性的错误,而且在我试图为图层设置动画的那一刻,它并没有真正添加到父图层,对吗?
那么,为了将其包装起来,如何在将新子图层添加到父图层后为其设置动画?
谢谢和亲切的问候,汉斯
答案 0 :(得分:0)
你应该使用[CABasicAnimation animationWithKeyPath:@“position”]