CABasicAnimation не оживляет мою собственность
Я пытался понять, что не так с моей анимацией, и до сих пор не понял этого. Я думаю, что это должно быть очень просто, но, возможно, я чего-то упускаю, даже после прочтения большого количества примеров и документации.
Изначально моя проблема возникла из-за того, что на iPhone вы не можете изменять размеры слоев автоматически (с видом). В документации сказано иное, но в SDK нет слоя autoresizeMask для слоя. Поэтому я решил немного обойти и оживить слой самостоятельно.
У меня есть этот простой кусок кода, который должен сделать простую анимацию изменения размера. Значения хороши, и я даже установил делегат, чтобы отслеживать начало / конец анима.
// I've got a property named layerImage (which is a CALayer)
- (void)animateTestWithFrame:(CGRect)value {
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"layerImage.frame"];
animation.duration = 1;
animation.fromValue = [NSValue valueWithCGRect:self.frame];
animation.toValue = [NSValue valueWithCGRect:value];
animation.removedOnCompletion = YES;
animation.delegate = self;
[self.layer addAnimation:animation forKey:@"layerImage.frame"];
}
Итак, есть идеи? (Это представление, содержащее код, является подпредставлением подпредставления окна, если это может иметь значение)
--- РЕДАКТИРОВАТЬ ---
Кажется, что кадр не может быть анимирован с помощью CABasicAnimation и названного свойства frame. При использовании границ я получаю странный результат, но, по крайней мере, что-то получаю. Будем продолжать расследование по этому вопросу.