2
이 코드는 서브 클래 싱 된 uiview의 touchesended 메서드에서 실행되지만 애니메이션을 적용하지는 않지만 즉시 배경색을 변경합니다. 뭐가 잘못 되었 니? 당신이 그것을 호출하는 경우,이 애니메이션을 시작 있도록하지만, 바로이 시점 이후의 코드를 실행합니다 -iPhone UIView 애니메이션 지속 시간은 즉시 작동합니다.
self.backgroundColor = [UIColor blackColor];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:20];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
if (score < .40) {
self.backgroundColor = [UIColor redColor];
} else {
self.backgroundColor = [UIColor greenColor];
}
[UIView commitAnimations];
에서 호출 할 때 작동합니까? 하위 클래스 또는 서브 클래스 외부의 다른 장소? – mvds
정말 animatable 색상을 변경하고 ??? – lukya
가능성은 낮지 만, '20'은 플로트로 캐스팅되는 것이 아니라 해석 될 수 있습니다. 20.0을 사용해보십시오. 또한 색상이 Apple 개발자 문서의 '애니메이션 속성'인지 다시 확인하십시오. – mtrc