当用户点击按钮时,我正试图在iPad应用中为UI的一部分制作动画.我的动作方法中有这个代码.它的工作原理是UI改变了我的预期,但它没有动画更改.它只是立即改变.我肯定错过了什么:
- (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...
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试简化动画只是改变不透明度(例如),它仍然不会动画.不透明度立即改变.这让我相信某些东西没有正确设置.
任何线索都会有所帮助!