iOS 개발 에 자주 사용 되 는 다양한 애니메이션,페이지 절단면 효과

오늘 주로 사용 하 는 애니메이션 류 는 CALayer 아래 의 CATransition 입 니 다.각종 애니메이션 류 에서 어떻게 계승 하 는 지 에 대해 서도 군말 하지 않 고 인터넷 의 자 료 는 한 줌 한 줌 입 니 다.잔말 말고 오늘 본론 으로 들 어가.
애니메이션 봉인 방법
1.CATransition 으로 애니메이션 의 패 키 징 방법 은 다음 과 같 습 니 다.각 코드 가 무슨 뜻 인지 설명 을 보십시오.

#pragma CATransition    
- (void) transitionWithType:(NSString *) type WithSubtype:(NSString *) subtype ForView : (UIView *) view
{
//  CATransition  
CATransition *animation = [CATransition animation];
//      
animation.duration = DURATION;
//    type
animation.type = type;
if (subtype != nil) {
//    
animation.subtype = subtype;
}
//      
animation.timingFunction = UIViewAnimationOptionCurveEaseInOut;
[view.layer addAnimation:animation forKey:@"animation"];
} 
코드 설명:
CATransition 에서 자주 사용 하 는 속성 은 다음 과 같 습 니 다.
duration:애니메이션 시간 설정
type:잠시 후 운동 유형 을 자세히 소개 하 겠 습 니 다.
subtype:type 과 일치 하 게 사용 하고 운동 방향 을 지정 합 니 다.아래 에 도 자세히 소개 합 니 다.
timing Function:애니메이션 의 운동 궤적 은 출발점 과 종점 간 의 삽입 값 계산 을 변화 시 키 는 데 사 용 됩 니 다.이미지 포 인 트 는 애니메이션 운행 의 리듬 을 결정 합 니 다.예 를 들 어
균등 한 변화(같은 시간 변 화 량 동일)아니면 먼저 빠 르 고 나중에 느 리 고,먼저 느 리 고 나중에 빠 르 고,먼저 느 리 고,또 빨리 느 리 고.
*애니메이션 의 시작 과 끝 이 느 리 고 다섯 개의 프 리 셋 이 있 습 니 다.
*kCAMediaTiming Function 선형,즉 등 속
*kCAMediaTiming Function EaseIn 은 느 리 고 빠르게
*kCAMediaTiming Function EaseOut 은 빠 르 고 느 립 니 다.
*kCAMediaTiming Function EaseInEaseOut 먼저 느 린 다음 빨리 느 린 다음
*kCAMediaTiming Function Default 실제 효 과 는 애니메이션 중간 이 빠 릅 니 다.
2.UIView 의 block 리 셋 으로 애니메이션 의 코드 패 키 징 구현

#pragma UIView    
- (void) animationWithView : (UIView *)view WithAnimationTransition : (UIViewAnimationTransition) transition
{
[UIView animateWithDuration:DURATION animations:^{
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:transition forView:view cache:YES];
}];
}
3.View 의 배경 그림 을 바 꾸 면 전환 할 때 관찰 할 수 있 습 니 다.

#pragma  View     
-(void)addBgImageWithImageName:(NSString *) imageName
{
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:imageName]];
} 
2.위의 방법 으로 우리 가 원 하 는 애니메이션 을 실현 합 니 다.
1.우 리 는 View 에 여러 개의 Button 을 추가 하여 서로 다른 Button 에 서로 다른 태그 값 을 설정 한 다음 에 ViewController 에서 같은 방법 을 연결 하고 서로 다른 button 을 클릭 하여 서로 다른 페이지 전환 효 과 를 실현 합 니 다.story Board 의 컨트롤 효 과 는 다음 그림 과 같 습 니 다.

2.버튼 을 누 르 면 되 돌 릴 방법 을 만 들 겠 습 니 다.
(1).표시 단추 에 대응 하 는 애니메이션 형식 을 정의 합 니 다.코드 는 다음 과 같 습 니 다.

typedef enum : NSUInteger {
Fade = , //    
Push, //  
Reveal, //  
MoveIn, //  
Cube, //   
SuckEffect, //  
OglFlip, //  
RippleEffect, //  
PageCurl, //  
PageUnCurl, //   
CameraIrisHollowOpen, //   
CameraIrisHollowClose, //   
CurlDown, //   
CurlUp, //   
FlipFromLeft, //   
FlipFromRight, //   
} AnimationType; 
(2),Button 의 태그 값 가 져 오기:

UIButton *button = sender;
AnimationType animationType = button.tag; 
(3).button 을 클릭 할 때마다 subtype 의 값 을 변경 합 니 다.위,왼쪽,아래,오른쪽 을 포함 합 니 다.

NSString *subtypeString;
switch (_subtype) {
case :
subtypeString = kCATransitionFromLeft;
break;
case :
subtypeString = kCATransitionFromBottom;
break;
case :
subtypeString = kCATransitionFromRight;
break;
case :
subtypeString = kCATransitionFromTop;
break;
default:
break;
}
_subtype += ;
if (_subtype > ) {
_subtype = ;
} 
(4)switch 를 통 해 위의 매 거 진 을 결합 하여 그 버튼 이 클릭 한 것 으로 판단 합 니 다.

switch (animationType)
{
//  Case,          
}
3.우리 가 포장 한 운동 방법 을 사용 하여 애니메이션 효 과 를 실현 합 니 다.
(1),희석 효과

case Fade:
[self transitionWithType:kCATransitionFade WithSubtype:subtypeString ForView:self.view];
break; 
(2).Push 효과

case Push:
[self transitionWithType:kCATransitionPush WithSubtype:subtypeString ForView:self.view];
break;
효 과 는 다음 과 같 습 니 다:
 
(3).개봉 효과:

case Reveal:
[self transitionWithType:kCATransitionReveal WithSubtype:subtypeString ForView:self.view];
break; 
효과 도 는 다음 과 같다.
  
(4).덮어 쓰기 효과

case MoveIn:
[self transitionWithType:kCATransitionMoveIn WithSubtype:subtypeString ForView:self.view];
break;
효과 도 는 다음 과 같다.

(5).입방체 효과

case Cube:
[self transitionWithType:@"cube" WithSubtype:subtypeString ForView:self.view];
break; 
효 과 는 다음 과 같 습 니 다:
   
(6).흡입 효과

case SuckEffect:
[self transitionWithType:@"suckEffect" WithSubtype:subtypeString ForView:self.view];
break; 
효 과 는 다음 과 같 습 니 다:

(7).뒤 집기 효과

case OglFlip:
[self transitionWithType:@"oglFlip" WithSubtype:subtypeString ForView:self.view];
break; 
효과 도 는 다음 과 같다.

8.파문 효과

case RippleEffect:
[self transitionWithType:@"rippleEffect" WithSubtype:subtypeString ForView:self.view];
break;  
 
(9).뒤 집기 와 뒤 집기 효과

case PageCurl:
[self transitionWithType:@"pageCurl" WithSubtype:subtypeString ForView:self.view];
break;
case PageUnCurl:
[self transitionWithType:@"pageUnCurl" WithSubtype:subtypeString ForView:self.view];
break; 
  
(10).카메라 켜 기

case CameraIrisHollowOpen:
[self transitionWithType:@"cameraIrisHollowOpen" WithSubtype:subtypeString ForView:self.view];
break;
case CameraIrisHollowClose:
[self transitionWithType:@"cameraIrisHollowClose" WithSubtype:subtypeString ForView:self.view];
break; 

(11)위 에 포 장 된 두 번 째 애니메이션 방법 을 호출 합 니 다.

case CurlDown:
[self animationWithView:self.view WithAnimationTransition:UIViewAnimationTransitionCurlDown];
break;
case CurlUp:
[self animationWithView:self.view WithAnimationTransition:UIViewAnimationTransitionCurlUp];
break;
case FlipFromLeft:
[self animationWithView:self.view WithAnimationTransition:UIViewAnimationTransitionFlipFromLeft];
break;
case FlipFromRight:
[self animationWithView:self.view WithAnimationTransition:UIViewAnimationTransitionFlipFromRight];
break;
이상 의 내용 은 iOS 개발 에서 자주 사용 하 는 각종 애니메이션,페이지 절단면 효과 에 대한 소개 입 니 다.도움 이 되 셨 으 면 합 니 다!

좋은 웹페이지 즐겨찾기