2013-05-29 3 views
0

CGAffineTransform 메서드를 사용하여 UIImageViews의 프레임을 수정 한 다음 상위 뷰에서 setNeedsDisplay를 호출합니다. 이것은 올바르게 작동하며 변환 만 매우 엄격합니다.변환 스무딩

어떻게 애니메이션을 부드럽게 할 수 있습니까? 2 차 보간법을 살펴 보았지만 어떻게해야할지 모르겠습니다. 이 크기를 조절하거나 회전 할 때 UIImageView에서 설정할 다음 값을 계산하지만 포인트를 모르는 경우에는 보간을 적용 할 위치를 알 수 없습니다.

currentRotation 값과 currentScale 값이 있는데, 다음 메서드를 메서드에 제공 할 때 얻을 수 있지만 점진적으로 하나에서 다른 방법으로 애니메이션을 적용하는 방법을 모르겠습니다.

답변

0

+animateWithDuration:delay:options:animations:completion:에 캡슐화 해 보았습니까? 내 애플 리케이션 중 하나에서 이런 일이 있고, 원활하게 작동합니다

[UIView animateWithDuration:2.0f 
         delay:0.0f 
        options:UIViewAnimationOptionCurveEaseInOut 
       animations:^ { 
        _chevronImageView.transform = CGAffineTransformMakeRotation((int)(arc4random() % 100)); 
       } 
       completion:nil]; 

편집이 : 나는 -drawRect: 방법이를 호출합니다.