我正在尝试在Cocoa中重新创建一个简单的iOS UIView动画。它只是一个旋转90度的图像视图。
以下是iOS实施:
UIImageView *imageView = [[UIImageView alloc] initWithFrame:containerView.bounds];
imageView.image = myImage;
imageView.contentMode = UIViewContentModeScaleAspectFit;
[containerView addSubView:imageView];
[UIView animateWithDuration:0.5
animations:^{
imageView.transform = CGAffineTransformMakeRotation(degreesToRadians(90));
imageView.frame = containerView.bounds
} completion:^(BOOL finished) {
}];
这是不起作用的Cocoa版本:
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
context.duration = 0.5;
[imageView.animator setFrameCenterRotation:90];
[imageView.animator setFrame: containerView.bounds];
} completionHandler:^{
}];
主要问题是旋转不会随着时间的推移而旋转,它只是猛击到90度,但也有一个奇怪的平移,确实会移动持续时间。
我想我可以用Core Animation做到这一点,但我担心这会打开另一种蠕虫...特别是对于这么简单的事情。正如您所看到的,我在iOS中比Cocoa更有经验。
感谢您的帮助。
答案 0 :(得分:0)