Итак, я прочитал в документации, что использование блоков типа
beginAnimation
commitAnimation
не рекомендуется с os4.0.
Итак, я попытался заставить мой код работать, используя CABasicAnimation.Я хочу добиться, чтобы размер кадра изображения уменьшился с размера его миниатюры, где-то в моем поле зрения, до положения полной ширины, например (0, 120, 320, 240) - на моем iPhone.до сих пор:
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:1.0] forKey:kCATransactionAnimationDuration];
CABasicAnimation *scalingAnimation;
scalingAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];
scalingAnimation.duration=1.0/2;
scalingAnimation.autoreverses=YES;
scalingAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
scalingAnimation.fromValue=[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)];
scalingAnimation.toValue=[NSValue valueWithCATransform3D:CATransform3DMakeScale(4, 4, 1)];
[b.layer addAnimation:scalingAnimation forKey:@"scaling"];
[CATransaction commit];
Мой следующий шаг должен был бы сначала попытаться переместить изображение в центральное положение, а затем масштабировать его до правильного размера.Однако я сомневаюсь, что делаю это правильно.Кто-нибудь может прокомментировать мой код / подход .... есть ли лучший способ?