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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!