Я читаю документацию Apple по CA, и я пытался сделать простую анимацию. Мне интересно, почему это не работает:
CABasicAnimation *goRight = [CABasicAnimation animationWithKeyPath:@"position"];
goRight.duration = 5;
goRight.fromValue = [NSValue valueWithCGPoint:CGPointMake(0, 0)];
NSLog(@":%@", [goRight.fromValue description]);
goRight.toValue = [NSValue valueWithCGPoint:CGPointMake(100, 100)];
CALayer *thelayer = [CALayer layer];
[thelayer addAnimation:goRight forKey:nil];
[self.aView.layer addSublayer:thelayer];
но если я изменю последние несколько строк на:
// CALayer *thelayer = [CALayer layer];
// [thelayer addAnimation:goRight forKey:nil];
// [self.aView.layer addSublayer:thelayer];
[self.aView.layer addAnimation:goRight forKey:nil];
это работает. Мне показалось, что я где-то читал в SO, что в свойстве .layer отключены неявные или явные анимации, поэтому я подумал, что мне следует заняться добавлением подслоя в основное свойство .layer и иметь анимацию на этом слое.
Может кто-нибудь помочь объяснить, что я делаю не так? Спасибо.