У меня ужасное время, пытаясь воссоздать простую анимацию iOS UIView в Cocoa. Это просто изображение, вращающееся на 90 градусов.Как анимация вращения с помощью NSImageView?
Вот реализация 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) {
}];
Вот версия какао, что не работает:
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context){
context.duration = 0.5;
[imageView.animator setFrameCenterRotation:90];
[imageView.animator setFrame: containerView.bounds];
} completionHandler:^{
}];
Основная проблема заключается в том, что вращение не вращается в течение долгого времени, он просто врезается до 90 градусов, но также имеет нечетный перевод, который перемещает продолжительность.
Я думаю, я мог бы сделать это с помощью Core Animation, но я боюсь, что откроет еще одну банку червей ... особенно для чего-то такого простого. Как вы можете видеть, я гораздо более опытен в iOS, чем Cocoa.
Спасибо за помощь.