gpt4 book ai didi

objective-c - 如何使用 NSImageView 制作旋转动画?

转载 作者:行者123 更新时间:2023-12-03 16:46:04 25 4
gpt4 key购买 nike

我在尝试在 Cocoa 中重新创建一个简单的 iOS UIView 动画时遇到了可怕的时间。它只是一个旋转 90 度的 ImageView 。

这是 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 度,而且还有一个奇怪的平移,确实会改变持续时间。

我想我可以用核心动画来做到这一点,但我担心这会打开另一 jar 蠕虫......尤其是对于如此简单的东西。正如您所看到的,我在 iOS 方面的经验比 Cocoa 方面的经验丰富得多。

感谢您的帮助。

最佳答案

我知道我回答这个问题有点晚了,但是,为了其他开发人员:

这是从中心旋转图像的项目。

github project link

stackOver flow link of solution

关于objective-c - 如何使用 NSImageView 制作旋转动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25247816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com