http://life-shelter.tistory.com/159
위 링크에서 circle뷰를 만들었으니 풍선처럼 부푸는 애니메이션 코드 작성
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
[animation setFromValue:[NSNumber numberWithFloat:.001f]]; // 시작 크기
[animation setToValue:[NSNumber numberWithFloat:1.f]]; // 완료 크기
[animation setDuration:0.3f]; // 애니메이션까지 걸리는 초
animation.fillMode = kCAFillModeForwards; // 애니메이션이 겹칠때 앞으로 오게(5개 연속으로 할거라서 적용함)
animation.removedOnCompletion = NO; // 애니메이션이 끝나고 유지
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]]; // 순차적으로 동작하게 Linear로 설정
[animation setTimingFunction:[CAMediaTimingFunction functionWithControlPoints:.34 :.01 :.69 :1.37]]; // 어느점을 기준으로 동작할지 설정
[[view1 layer] addAnimation:animation forKey:@"scale"]; // 1번째 뷰 적용
animation.duration = 0.6f; // 2번째 뷰 시간 설정
[[view2 layer] addAnimation:animation forKey:@"scale"]; // 2번째 뷰 적용
animation.duration = 0.9f; // 3번째 뷰 시간 설정
[[view3 layer] addAnimation:animation forKey:@"scale"]; // 3번째 뷰 적용
animation.duration = 1.2f; // 4번째 뷰 시간 설정
[[view4 layer] addAnimation:animation forKey:@"scale"]; // 4번째 뷰 적용
animation.duration = 1.5f; // 5번째 뷰 시간 설정
animation.delegate = self; // delegate 설정
[[view5 layer] addAnimation:animation forKey:@"scale"]; // 5번쨰 뷰 적용
위같이 한 후 애니메이션이 끝나고 아래 함수에서 원하는 작업을 하면 된다.
- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag
{
NSLog(@"애니메이션 끝");
}
'프로그래밍 > iOS' 카테고리의 다른 글
[iOS] 다국어가 적용되지 않는 언어를 선택할 시 (0) | 2016.07.01 |
---|---|
[iOS] UIImage 회전 함수 (0) | 2016.06.20 |
[iOS] 원 모양 뷰 만들기 (0) | 2016.06.14 |
[iOS] token animation (0) | 2016.06.14 |
[iOS] rotate 이미지뷰 만들기 (0) | 2016.04.08 |