一,效果图。
二,工程图。
三,代码。
RootViewController.h
#import <UIKit/UIKit.h>@interface RootViewController : UIViewController
{NSTimer *timer;UIImageView *imageView1;UIImageView *imageView2;UIImageView *imageView3;UIView * view1;UIView * view2;UIView * view3;
}@end
RootViewController.m
- (void)viewDidLoad
{[super viewDidLoad];// Do any additional setup after loading the view.//初始化背景图[self initBackgroundView];}#pragma -mark -funcitons
-(void)initBackgroundView
{//第一张图片view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 560)];[self.view addSubview:view1];imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 420, 560)];imageView1.image = [UIImage imageNamed:@"guidex1.png"];[view1 addSubview:imageView1];//第二张图片view2 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 560)];[self.view addSubview:view2];imageView2 = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 420, 560)];imageView2.image = [UIImage imageNamed:@"guidex2.png"];[view2 addSubview:imageView2];//第三张图片view3 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 560)];[self.view addSubview:view3];imageView3 = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 520, 660)];imageView3.image = [UIImage imageNamed:@"guidex0.png"];[view3 addSubview:imageView3];//开启动画事件timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(changeView) userInfo:nil repeats:NO];}
-(void)change
{[UIView beginAnimations:nil context:nil];[UIView setAnimationDuration:11.0];imageView1.frame = CGRectMake(0, 0, 320, 460);[UIView commitAnimations];
}
-(void)change1
{[UIView beginAnimations:nil context:nil];[UIView setAnimationDuration:11.0];imageView2.frame = CGRectMake(0, 0, 320, 460);[UIView commitAnimations];
}
-(void)change2
{[UIView beginAnimations:nil context:nil];[UIView setAnimationDuration:11.0];imageView3.frame = CGRectMake(0, 0, 320, 460);[UIView commitAnimations];
}
-(void)changeView
{imageView1.frame = CGRectMake(0, 0, 520, 660);[self change2];CATransition * transition = [CATransition animation];transition.duration = 2.0;//间隔时间transition.timingFunction = UIViewAnimationCurveEaseInOut;//减缓动画transition.type = kCATransitionFade;//各种效果transition.subtype = kCATransitionFromRight;transition.delegate = self;//代理,自带方法,动画的代理都不用协议[self.view.layer addAnimation:transition forKey:nil];[self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];timer = [NSTimer scheduledTimerWithTimeInterval:11.0 target:self selector:@selector(changeView1) userInfo:nil repeats:NO];
}-(void)changeView1
{imageView2.frame = CGRectMake(0, 0, 520, 660);[self change];CATransition * transition = [CATransition animation];transition.duration = 2.0;//间隔时间transition.timingFunction = UIViewAnimationCurveEaseInOut;//减缓动画transition.type = kCATransitionFade;//各种效果transition.subtype = kCATransitionFromRight;transition.delegate = self;//代理,自带方法,动画的代理都不用协议[self.view.layer addAnimation:transition forKey:nil];[self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:2];timer = [NSTimer scheduledTimerWithTimeInterval:11.0 target:self selector:@selector(changeView2) userInfo:nil repeats:NO];
}
-(void)changeView2
{imageView3.frame = CGRectMake(0, 0, 520, 660);[self change1];CATransition * transition = [CATransition animation];transition.duration = 2.0;//间隔时间transition.timingFunction = UIViewAnimationCurveEaseInOut;//减缓动画transition.type = kCATransitionFade;//各种效果transition.subtype = kCATransitionFromRight;transition.delegate = self;//代理,自带方法,动画的代理都不用协议[self.view.layer addAnimation:transition forKey:nil];[self.view exchangeSubviewAtIndex:2 withSubviewAtIndex:0];timer = [NSTimer scheduledTimerWithTimeInterval:11.0 target:self selector:@selector(changeView) userInfo:nil repeats:NO];
}