【发布时间】:2010-10-19 12:48:13
【问题描述】:
所以,我在文档中读到了使用
之类的块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];
我的下一步是首先尝试将图像移动到中心位置,然后将其缩放到正确的大小。但是,我怀疑我的做法是否正确。任何人都可以评论我的代码/方法....有更好的方法吗?
【问题讨论】:
标签: iphone uiimage scale cabasicanimation