Я пытаюсь анимировать часть пользовательского интерфейса в приложении iPad, когда пользователь нажимает кнопку. У меня есть этот код в моем методе действий. Он работает в том смысле, что пользовательский интерфейс меняет то, что я ожидаю, но он не оживляет изменений. Он просто сразу меняется. Я должен что-то упустить:
- (IBAction)someAction:(id)sender {
UIViewController *aViewController = <# Get an existing UIViewController #>;
UIView *viewToAnimate = aViewController.view;
CALayer *layerToAnimate = viewToAnimate.layer;
[CATransaction begin];
[CATransaction setAnimationDuration:1.0f];
CATransform3D rotateTransform = CATransform3DMakeRotation(0.3, 0, 0, 1);
CATransform3D scaleTransform = CATransform3DMakeScale(0.10, 0.10, 0.10);
CATransform3D positionTransform = CATransform3DMakeTranslation(24, 423, 0);
CATransform3D combinedTransform = CATransform3DConcat(rotateTransform, scaleTransform);
combinedTransform = CATransform3DConcat(combinedTransform, positionTransform);
layerToAnimate.transform = combinedTransform;
[CATransaction commit];
// rest of method...
}
Я попробовал упростить анимацию, чтобы просто изменить прозрачность (например), и она все равно не будет анимироваться. Прозрачность просто меняется мгновенно. Это заставляет меня думать, что что-то не настроено должным образом.
Любые подсказки были бы полезны!