| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
fmms
13年前发布

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 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1335678460843.html
iPhone iOS开发 移动开发