一,效果图。
二,工程图。
三,代码。
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]; }
时间: 2024-10-26 22:40:01