翻页动画

    //

//  TestBedViewControler_005.m

//  UIViewAnimationsTest

//

//  Created by mir on 11-4-1.

//  Copyright 2011 __MyCompanyName__. All rights reserved.

//

 

#import "TestBedViewControler_005.h"

 

 

@implementation TestBedViewControler_005

 

/*

 // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {

    if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {

        // Custom initialization

    }

    return self;

}

*/

 

/*

// Implement loadView to create a view hierarchy programmatically, without using a nib.

- (void)loadView {

}

*/

 

-(void) downOrUp:(id)sender{

CGContextRef context=UIGraphicsGetCurrentContext();

[UIView beginAnimations:nil context:context];

[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

[UIView setAnimationDuration:1.0f];

//Apply the animation to the backdrop

UIView *whiteBackdrop=[self.view viewWithTag:100];

if ([(UISegmentedControl *)self.navigationItem.titleView selectedSegmentIndex]) {

[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:whiteBackdrop cache:YES];

}else {

[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:whiteBackdrop cache:YES];

}

//Exchange the two foreground views

NSInteger purple=[[whiteBackdrop subviews] indexOfObject:[whiteBackdrop viewWithTag:999]];

NSInteger maroon=[[whiteBackdrop subviews] indexOfObject:[whiteBackdrop viewWithTag:998]];

[whiteBackdrop exchangeSubviewAtIndex:purple withSubviewAtIndex:maroon];

[UIView commitAnimations];

}

 

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.

- (void)viewDidLoad {

    [super viewDidLoad];

self.navigationItem.rightBarButtonItem=BARBUTTON(@"Go",@selector(downOrUp:));

UISegmentedControl *segmentedControl=[[UISegmentedControl alloc] initWithItems:[@"Down Up" componentsSeparatedByString:@" "]];

segmentedControl.selectedSegmentIndex=0;

segmentedControl.segmentedControlStyle=UISegmentedControlStyleBar;

self.navigationItem.titleView=segmentedControl;

[segmentedControl release];

UIImageView *view1=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"1.png"]];

view1.tag=999;

UIImageView *view2=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"2.png"]];

view2.tag=998;

UIView *views=[[UIView alloc] init];

views.backgroundColor=[UIColor whiteColor];

views.frame=CGRectMake(0, 0, view1.frame.size.width, view1.frame.size.height);

views.tag=100;

[views addSubview:view1];

[views addSubview:view2];

[self.view addSubview:views];

[views release];

[view1 release];

[view2 release];

}

 

 

/*

// Override to allow orientations other than the default portrait orientation.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

    // Return YES for supported orientations

    return (interfaceOrientation == UIInterfaceOrientationPortrait);

}

*/

 

- (void)didReceiveMemoryWarning {

    // Releases the view if it doesn't have a superview.

    [super didReceiveMemoryWarning];

 

    // Release any cached data, images, etc that aren't in use.

}

 

- (void)viewDidUnload {

    [super viewDidUnload];

    // Release any retained subviews of the main view.

    // e.g. self.myOutlet = nil;

}

 

 

- (void)dealloc {

    [super dealloc];

}

 

 

@end


你可能感兴趣的:(动画)