UIImageView
에서 애니메이션 변환을 수행 할 때 비정상적인 동작이 발생합니다. 이 방법의 코드는 아래에이 좌우로 흔들 것 같은 이미지가 나타날 수 있습니다 :viewDidLoad의 비정상적인 animateWithDuration 동작
-(void) shakeAnimation
{
float degrees = 30; //the value in degrees
imgShake.autoresizingMask = UIViewAutoresizingNone;
[UIView animateWithDuration:0.20f delay:0 options:(UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat) animations:^{
imgShake.transform = CGAffineTransformMakeRotation(degrees*M_PI/180);
} completion:^(BOOL finished) {
imgShake.transform = CGAffineTransformMakeRotation(1*M_PI/180);
NSLog(@"Shake finished");
}];
}
문제는 내가 메서드를 호출 할 경우 함께 제공됩니다. viewDidAppear
에서 메서드를 호출하면 애니메이션이 완벽하게 작동하는 것처럼 보이지만 다른 이유로는 viewDidLoad
으로 호출해야합니다. 내가 viewDidLoad
에서 메서드를 호출 할 때 애니메이션은 작동하지만, animateWithDuration
으로 지정된 속도로는 작동하지 않습니다. 훨씬 느립니다. 아마도 0.70f
일 것입니다. 내가 여기서 누락 될 수 있는게 있니?
는 설명 할 수 무슨'viewDidLoad'가의 메소드를 호출하는 문제? 또한 애니메이션 기간에 문제가있는 이유는 무엇입니까? – garethdn
@garethdn 추가 정보가 추가되었습니다. – Sulthan