iOS 개발 에 자주 사용 되 는 다양한 애니메이션,페이지 절단면 효과
애니메이션 봉인 방법
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 개발 에서 자주 사용 하 는 각종 애니메이션,페이지 절단면 효과 에 대한 소개 입 니 다.도움 이 되 셨 으 면 합 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift의 패스트 패스Objective-C를 대체하기 위해 만들어졌지만 Xcode는 Objective-C 런타임 라이브러리를 사용하기 때문에 Swift와 함께 C, C++ 및 Objective-C를 컴파일할 수 있습니다. Xcode는 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.