Обновление UIImageView во время цикла - PullRequest
0 голосов
/ 02 ноября 2010
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
 CGFloat coef = tempCount / 20;
 while(tempCount >= 0)
 {
  [imgView setTransform: CGAffineTransformRotate([imgView transform], -1*coef)];
  tempCount -=coef;
  [NSThread sleepForTimeInterval: 0.09];
 }
}

И проблема в том, что мое изображение на изображении обновляется только после цикла.Я хочу, чтобы он обновлялся каждые 0,09 секунды.Что вы можете предложить?Thanx!

1 Ответ

0 голосов
/ 02 ноября 2010

Если вы хотите вращать вид с помощью анимации, используйте средства анимации, предоставляемые SDK. Чтобы повернуть вид на все 360 градусов, вам нужно использовать базовую анимацию.

Следующий код будет вращать ваш взгляд в течение 3 секунд:

#import <QuartzCore/QuartzCore.h>
...
CABasicAnimation* animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
animation.fromValue = [NSNumber numberWithFloat:0.0f];
animation.toValue = [NSNumber numberWithFloat: 2*M_PI];
animation.duration = 3.0f;
animation.repeatCount = 1.0f;
[imgView.layer addAnimation:animation forKey:@"MyAnimation"];

Или попробуйте следующее - я не проверял код, но он должен сбросить преобразование представления в идентичность с анимацией:

[UIView beginAnimations:@"Reset dial" context: nil];
[UIView setAnimationDuration: 1.0f];
[UIView setAnimationCurve: UIViewAnimationCurveEaseOut];

[imgView setTransform:CGAffineTransformIdentity];

[UIView commitAnimations];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...