作者:朱克锋
邮箱:zhukefeng@iboxpay.com
转载请注明出处:http://blog.youkuaiyun.com/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;
实现文件
#import "AnimationViewController.h"
#import <QuartzCore/QuartzCore.h>
#define kDuration 0.7
@implementation AnimationViewController
@synthesize blueView;
@synthesize greenView;
@synthesize typeID;
- (IBAction)buttonPressed:(id)sender;
- (IBAction)buttonPressed:(id)sender {
UIButton *button = (UIButton *)sender;
NSInteger tag = button.tag;
CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:kDuration];
switch (tag) {
case 105:
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];
break;
case 106:
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
break;
case 107:
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
break;
case 108:
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];
break;
default:
break;
}
NSUInteger green = [[self.view subviews] indexOfObject:self.greenView];
NSUInteger blue = [[self.view subviews] indexOfObject:self.blueView];
[self.view exchangeSubviewAtIndex:green withSubviewAtIndex:blue];
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
}