相关疑难解决方法(0)

CATransaction:图层更改但不动画

当用户点击按钮时,我正试图在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)

我已经尝试简化动画只是改变不透明度(例如),它仍然不会动画.不透明度立即改变.这让我相信某些东西没有正确设置.

任何线索都会有所帮助!

iphone cocoa core-animation objective-c ipad

13
推荐指数
1
解决办法
9014
查看次数

标签 统计

cocoa ×1

core-animation ×1

ipad ×1

iphone ×1

objective-c ×1