Iphone頁面跳轉動畫的封裝
在項目中我希望頁面跳轉有不同的動畫效果,我是一個喜歡將公用代碼提交出來寫成工具類的人,這個當然也不會放過,好了,看代碼:
.h文件:
#import <Foundation/Foundation.h>
#import <QuartzCore/QuartzCore.h>
@interface MyAnimationUtil : NSObject {
}
+(CATransition *)getAnimation:(NSInteger)mytag;
@end .m文件 #import "MyAnimationUtil.h"
#include<stdlib.h>
@implementation MyAnimationUtil
//獲得動畫
+(CATransition *)getAnimation:(NSInteger)mytag{
CATransition *animation = [CATransition animation];
animation.delegate = self;
animation.duration = 0.7;
animation.timingFunction = UIViewAnimationCurveEaseInOut;
switch (mytag) {
case 1:
animation.type = kCATransitionFade;
break;
case 2:
animation.type = kCATransitionPush;
break;
case 3:
animation.type = kCATransitionReveal;
break;
case 4:
animation.type = kCATransitionMoveIn;
break;
case 5:
animation.type = @"cube";
break;
case 6:
animation.type = @"suckEffect";
break;
case 7:
animation.type = @"oglFlip";
break;
case 8:
animation.type = @"rippleEffect";
break;
case 9:
animation.type = @"pageCurl";
break;
case 10:
animation.type = @"pageUnCurl";
break;
case 11:
animation.type = @"cameraIrisHollowOpen";
break;
case 12:
animation.type = @"cameraIrisHollowClose";
break;
default:
break;
}
int i = (int)rand()%4;
switch (i) {
case 0:
animation.subtype = kCATransitionFromLeft;
break;
case 1:
animation.subtype = kCATransitionFromBottom;
break;
case 2:
animation.subtype = kCATransitionFromRight;
break;
case 3:
animation.subtype = kCATransitionFromTop;
break;
default:
break;
}
return animation;
}
@end 調用如下: UserRegisterViewController *userregister = [[UserRegisterViewController alloc]initWithNibName:@"UserRegisterViewController" bundle:nil];
userregister.userregisterdelegate = self.rootdelegate;
[self.navigationController pushViewController:userregister animated:NO];
CATransition * animation = [MyAnimationUtil getAnimation:6];
[self.navigationController.view.layer addAnimation:animation forKey:nil];
[userregister release]; 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!