IOS翻页效果实例 1

来源:互联网 发布:淘宝买家申请退款 编辑:程序博客网 时间:2024/05/15 01:30

作者:朱克锋

邮箱:zhukefeng@iboxpay.com

转载请注明出处:http://blog.csdn.net/linux_zkf


头文件

#import <UIKit/UIKit.h>

@interface AnimationViewController : UIViewController {

    UIImageView *blueView;

    UIImageView *greenView;

    NSInteger typeID;

}

@property (nonatomic, retain) IBOutlet UIImageView *blueView;

@property (nonatomic, retain) IBOutlet UIImageView *greenView;

@property (nonatomic, assign) NSInteger typeID;

- (IBAction)buttonPressed:(id)sender;

实现文件

#import "AnimationViewController.h"

#import <QuartzCore/QuartzCore.h>

#define kDuration 0.7   

@implementation AnimationViewController

@synthesize blueView;

@synthesize greenView;

@synthesize typeID;


- (IBAction)buttonPressed:(id)sender {

    UIButton *button = (UIButton *)sender;

    NSInteger tag = button.tag;

    CATransition *animation = [CATransitionanimation];

    animation.delegate = self;

    animation.duration = kDuration;

    animation.timingFunction =UIViewAnimationCurveEaseInOut;    

    switch (tag) {

        case 101:

            animation.type = kCATransitionFade;

            break;

        case 102:

            animation.type = kCATransitionPush;

            break;

        case 103:

            animation.type = kCATransitionReveal;

            break;

        case 104:

            animation.type = kCATransitionMoveIn;

            break;

        case 201:

            animation.type = @"cube";

            break;

        case 202:

            animation.type = @"suckEffect";

            break;

        case 203:

            animation.type = @"oglFlip";

            break;

        case 204:

            animation.type = @"rippleEffect";

            break;

        case 205:

            animation.type = @"pageCurl";

            break;

        case 206:

            animation.type = @"pageUnCurl";

            break;

        case 207:

            animation.type = @"cameraIrisHollowOpen";

            break;

        case 208:

            animation.type = @"cameraIrisHollowClose";

            break;

        default:

            break;

    }

    switch (self.typeID) {

        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;

    }

    self.typeID += 1;

    if (self.typeID >3) {

        self.typeID =0;

    }  

    NSUInteger green = [[self.viewsubviews] indexOfObject:self.greenView];

    NSUInteger blue = [[self.viewsubviews] indexOfObject:self.blueView];

    [self.viewexchangeSubviewAtIndex:green withSubviewAtIndex:blue];    

    [[self.view layer] addAnimation:animation forKey:@"animation"];

}


原创粉丝点击