.h
#import <UIKit/UIKit.h> @interface RootViewController : UIViewController { NSTimer *timer; UIImageView *imageView1; UIImageView *imageView2; UIImageView *imageView3; UIView * view1; UIView * view2; UIView * view3; } @end
.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]; }