一,工程图。
二,代码。
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];
}
}