大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > IOS技巧 > 首页3张图片有动画效果

首页3张图片有动画效果

关键词:首页效果动画图片  阅读(764) 赞(15)

[摘要]本文是对首页3张图片有动画效果的讲解,对学习IOS苹果软件开发有所帮助,与大家分享。

.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];
}


相关评论