一,效果圖。
?
?
?
?
?
二,工程圖。
三,代碼。
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];
}
?
?
?
?