为什么我的动画设置的是沿y轴翻转的,但是实际上翻的时候是水平动?

为什么我的动画设置的是沿y轴翻转的,但是实际上翻的时候是水平动?哪位大神帮我看看,是哪里错误?

//

// AFKPageFlipper.m

// AFKPageFlipper

//

// Created by Marco Tabini on 10-10-12.

// Copyright 2010 AFK Studio Partnership. All rights reserved.

//

// Modified by Reefaq Mohammed on 16/07/11.

//

#import "AFKPageFlipper.h"

#import "ColorHelper.h"

#pragma mark -

#pragma mark UIView helpers

@interface UIView(Extended)

//image渲染视图

- (UIImage *) imageByRenderingView;

@end

@implementation UIView(Extended)

//image渲染视图

- (UIImage *) imageByRenderingView {

CGFloat oldAlpha = self.alpha;

self.alpha = 1;

//创建一个基于位图的上下文(context,并将其设置为当前上下文(context)。参数size为新创建的位图上下文的大小。

UIGraphicsBeginImageContext(self.bounds.size);

//渲染一般的操作后的结果

self.layer renderInContext:UIGraphicsGetCurrentContext()];

//从当前上下文中获取一个UIImage对象。

UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

self.alpha = oldAlpha;

return resultingImage;

}

@end

#pragma mark -

#pragma mark Private interface

//@interface AFKPageFlipper()

//

//@property (nonatomic,assign) UIView *currentView;

//@property (nonatomic,assign) UIView *newView;

//

//@end

@implementation AFKPageFlipper

#pragma mark -

#pragma mark Flip functionality

@synthesize pageDifference,numberOfPages,animating;

- (void) initFlip {

NSAutoreleasePool* newpool = NSAutoreleasePool alloc] init];

// Create screenshots of view

UIImage *currentImage = self.currentView imageByRenderingView];

UIImage *newImage = self.newView imageByRenderingView];

// Hide existing views

self.currentView setHidden:TRUE];

self.newView setHidden:TRUE];

self.currentView.alpha = 0;

self.newView.alpha = 0;

// Create representational layers

CGRect rect = self.bounds;

//rect.size.width /= 2;

rect.size.height /= 2;

backgroundAnimationLayer = CALayer layer];

backgroundAnimationLayer.frame = self.bounds;

backgroundAnimationLayer.zPosition = -300000;

CALayer *leftLayer = CALayer layer];

leftLayer.frame = rect;

//设置圆角

leftLayer.masksToBounds = YES;

//允许你在图层的边界内容修改图层的contents图片的位置或者伸缩值。

leftLayer.contentsGravity = kCAGravityLeft;

backgroundAnimationLayer addSublayer:leftLayer];

//rect.origin.x = rect.size.width;

rect.origin.y = rect.size.height;

CALayer *rightLayer = CALayer layer];

rightLayer.frame = rect;

rightLayer.masksToBounds = YES;

rightLayer.contentsGravity = kCAGravityRight;

backgroundAnimationLayer addSublayer:rightLayer];

if (flipDirection == AFKPageFlipperDirectionRight) {

leftLayer.contents = (id) ;

rightLayer.contents = (id) ;

} else {

leftLayer.contents = (id) ;

rightLayer.contents = (id) ;

}

self.layer addSublayer:backgroundAnimationLayer];

//rect.origin.x = 0;

rect.origin.y = 0;

flipAnimationLayer = CATransformLayer layer];

flipAnimationLayer.anchorPoint = CGPointMake(0, 0);

flipAnimationLayer.frame = rect;

blankFlipAnimationLayerOnLeft1 = CATransformLayer layer];

blankFlipAnimationLayerOnLeft1.anchorPoint = CGPointMake(1, 1);

blankFlipAnimationLayerOnLeft1.frame = rect;

blankFlipAnimationLayerOnLeft1.zPosition = -250000;

blankFlipAnimationLayerOnRight1 = CATransformLayer layer];

blankFlipAnimationLayerOnRight1.anchorPoint = CGPointMake(0, 0);

blankFlipAnimationLayerOnRight1.frame = rect;

blankFlipAnimationLayerOnRight1.zPosition = 250000;

blankFlipAnimationLayerOnLeft2 = CATransformLayer layer];

blankFlipAnimationLayerOnLeft2.anchorPoint = CGPointMake(1, 1);

blankFlipAnimationLayerOnLeft2.frame = rect;

blankFlipAnimationLayerOnLeft2.zPosition = -260000;

blankFlipAnimationLayerOnRight2 = CATransformLayer layer];

blankFlipAnimationLayerOnRight2.anchorPoint = CGPointMake(0, 0);

blankFlipAnimationLayerOnRight2.frame = rect;

blankFlipAnimationLayerOnRight2.zPosition = 350000;

self.layer addSublayer:flipAnimationLayer];

if (pageDifference > 1) {

self.layer addSublayer:blankFlipAnimationLayerOnLeft1];

self.layer addSublayer:blankFlipAnimationLayerOnRight1];

if (pageDifference > 2) {

self.layer addSublayer:blankFlipAnimationLayerOnLeft2];

self.layer addSublayer:blankFlipAnimationLayerOnRight2];

}

}

// start

CALayer *blankBackLayerForLayerLeft = CALayer layer];

blankBackLayerForLayerLeft.frame = blankFlipAnimationLayerOnLeft1.bounds;

blankBackLayerForLayerLeft.doubleSided = NO;

blankBackLayerForLayerLeft.masksToBounds = YES;

blankFlipAnimationLayerOnLeft1 addSublayer:blankBackLayerForLayerLeft];

CALayer *blankFrontLayerForLayerLeft = CALayer layer];

blankFrontLayerForLayerLeft.frame = blankFlipAnimationLayerOnLeft1.bounds;

blankFrontLayerForLayerLeft.doubleSided = NO;

blankFrontLayerForLayerLeft.masksToBounds = YES;

//沿y轴翻转45

blankFrontLayerForLayerLeft.transform = CATransform3DMakeRotation(-0.78, 0.0, 1.0, 0);

blankFlipAnimationLayerOnLeft1 addSublayer:blankFrontLayerForLayerLeft];

CALayer *blankBackLayerForLayerRight = CALayer layer];

blankBackLayerForLayerRight.frame = blankFlipAnimationLayerOnRight1.bounds;

blankBackLayerForLayerRight.doubleSided = NO;

blankBackLayerForLayerRight.masksToBounds = YES;

blankFlipAnimationLayerOnRight1 addSublayer:blankBackLayerForLayerRight];

CALayer *blankFrontLayerForLayerRight = CALayer layer];

blankFrontLayerForLayerRight.frame = blankFlipAnimationLayerOnRight1.bounds;

blankFrontLayerForLayerRight.doubleSided = NO;

blankFrontLayerForLayerRight.masksToBounds = YES;

//沿y轴翻转45

blankFrontLayerForLayerRight.transform = CATransform3DMakeRotation(0.78, 0.0, 1.0, 0);

blankFlipAnimationLayerOnRight1 addSublayer:blankFrontLayerForLayerRight];

// end

// start

CALayer *blankBackLayerForLayerLeft2 = CALayer layer];

blankBackLayerForLayerLeft2.frame = blankFlipAnimationLayerOnLeft2.bounds;

blankBackLayerForLayerLeft2.doubleSided = NO;

blankBackLayerForLayerLeft2.masksToBounds = YES;

blankFlipAnimationLayerOnLeft2 addSublayer:blankBackLayerForLayerLeft2];

CALayer *blankFrontLayerForLayerLeft2 = CALayer layer];

blankFrontLayerForLayerLeft2.frame = blankFlipAnimationLayerOnLeft2.bounds;

blankFrontLayerForLayerLeft2.doubleSided = NO;

blankFrontLayerForLayerLeft2.masksToBounds = YES;

//沿y轴翻转45

blankFrontLayerForLayerLeft2.transform = CATransform3DMakeRotation(-0.78, 0.0, 1.0, 0);

blankFlipAnimationLayerOnLeft2 addSublayer:blankFrontLayerForLayerLeft2];

CALayer *blankBackLayerForLayerRight2 = CALayer layer];

blankBackLayerForLayerRight2.frame = blankFlipAnimationLayerOnRight2.bounds;

blankBackLayerForLayerRight2.doubleSided = NO;

blankBackLayerForLayerRight2.masksToBounds = YES;

blankFlipAnimationLayerOnRight2 addSublayer:blankBackLayerForLayerRight2];

CALayer *blankFrontLayerForLayerRight2 = CALayer layer];

blankFrontLayerForLayerRight2.frame = blankFlipAnimationLayerOnRight2.bounds;

blankFrontLayerForLayerRight2.doubleSided = NO;

blankFrontLayerForLayerRight2.masksToBounds = YES;

//沿y轴翻转45

blankFrontLayerForLayerRight2.transform = CATransform3DMakeRotation(0.78, 0.0, 1.0, 0);

blankFlipAnimationLayerOnRight2 addSublayer:blankFrontLayerForLayerRight2];

// end

CALayer *backLayer = CALayer layer];

backLayer.frame = flipAnimationLayer.bounds;

backLayer.doubleSided = NO;

backLayer.masksToBounds = YES;

flipAnimationLayer addSublayer:backLayer];

CALayer *frontLayer = CALayer layer];

frontLayer.frame = flipAnimationLayer.bounds;

frontLayer.doubleSided = NO;

frontLayer.masksToBounds = YES;

//沿y轴翻转45

frontLayer.transform = CATransform3DMakeRotation(0.78, 0, 1.0, 0);

flipAnimationLayer addSublayer:frontLayer];

// shadows

frontLayerShadow = CALayer layer];

frontLayerShadow.frame = frontLayer.bounds;

frontLayerShadow.doubleSided = NO;

frontLayerShadow.masksToBounds = YES;

frontLayerShadow.opacity = 0;

frontLayerShadow.backgroundColor = UIColor blackColor].CGColor;

;

backLayerShadow = CALayer layer];

backLayerShadow.frame = backLayer.bounds;

backLayerShadow.doubleSided = NO;

backLayerShadow.masksToBounds = YES;

backLayerShadow.opacity = 0;

backLayerShadow.backgroundColor = UIColor blackColor].CGColor;

;

leftLayerShadow = CALayer layer];

leftLayerShadow.frame = leftLayer.bounds;

leftLayerShadow.doubleSided = NO;

leftLayerShadow.masksToBounds = YES;

leftLayerShadow.opacity = 0.0;

leftLayerShadow.backgroundColor = UIColor blackColor].CGColor;

;

rightLayerShadow = CALayer layer];

rightLayerShadow.frame = rightLayer.bounds;

rightLayerShadow.doubleSided = NO;

rightLayerShadow.masksToBounds = YES;

rightLayerShadow.opacity = 0.0;

rightLayerShadow.backgroundColor = UIColor blackColor].CGColor;

;

// shadows

UIInterfaceOrientation orient = UIApplication sharedApplication].statusBarOrientation;

UIImage* flipImage;

<p class=