2014-08-11 3 views
2

У меня ужасное время, пытаясь воссоздать простую анимацию 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.

Спасибо за помощь.

ответ

0

Я знаю, что я немного поздно, чтобы ответить на этот вопрос, однако, для других разработчиков:

Вот проект, который поворачивает изображение от центра.

github project link

stackOver flow link of solution

Смежные вопросы