一,工程图。
二,代码。
RootViewController.h
#import <UIKit/UIKit.h> #import "UIImage+SplitImageIntoTwoParts.h" @interface RootViewController : UIViewController { UIImageView *left; UIImageView *right; } @end
RootViewController.m
#import "RootViewController.h" @interface RootViewController () @end @implementation RootViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NSArray *array = [UIImage splitImageIntoTwoParts:[UIImage imageNamed:@"1"]]; left = [[UIImageView alloc] initWithImage:[array objectAtIndex:0]]; right = [[UIImageView alloc] initWithImage:[array objectAtIndex:1]]; left.transform = CGAffineTransformIdentity; right.transform = CGAffineTransformIdentity; [self.view addSubview:left]; [self.view addSubview:right]; [UIView beginAnimations:@"split" context:nil]; [UIView setAnimationDelegate:self]; [UIView setAnimationDuration:1]; [UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)]; left.transform = CGAffineTransformMakeTranslation(-160 ,0); right.transform = CGAffineTransformMakeTranslation(160 ,0); [UIView commitAnimations]; } -(void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context { if ([animationID isEqualToString:@"split"] && finished) { [left removeFromSuperview]; [right removeFromSuperview]; } }