【代码笔记】首页3张图片变化

一,效果图。

二,工程图。

三,代码。

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

【代码笔记】首页3张图片变化的相关文章

【代码笔记】iOS-cell自动变化大小

一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController <UITableViewDataSource,UITableViewDelegate> { UITableView* myTableView; NSDictionary *dataDic; } @property (nonatomic , retain)NS

多线程二(GCD)代码笔记

// // TWFXViewController.h // Demo_GCD // // Created by Lion User on 12-12-11. // Copyright (c) 2012年 Lion User. All rights reserved. // #import <UIKit/UIKit.h> @interface TWFXViewController : UIViewController @property (retain, nonatomic) IBOutlet

JfinalUIB 代码笔记 (4)--- 高仿ibatis(mybatis)实现sql的集中管理

实现sql的集中管理,简单的把一些固定长度的sql移植进xml很简单,这没有什么好多说的,关键问题是我们平时处理的sql,有大量是动态长度的,比如说最常见的就是多条件的分页查询,往往我们会在代码中写大量的if else,想把这些移植进xml就比较困难了,完全仿制ibatis来做xml标签工作量太大,最省事的处理方法就是能不能直接把Java代码的逻辑处理方式移植进xml,然后对逻辑代码进行解析,绕开那一大堆的xml标签定义,下面就是jfinaluib中的处理方式: 1.0 暂时还是用的拼接,没有预

汇编代码笔记 动态更新中

汇编考完了,悲剧的93分,,,,,以后的汇编就用的少了,凡是用到都来这里做点代码笔记: 一.错误总结: 1.程序最后END +起始标号,否则U的时候需要自己手动找起始位置而且有可能程序翻译指令错误 2.对内存单元进行操作的时候,注意类型的指定,比如inc [si]必然是错的因为没有类型,还有处理数据计数器si注意加一 3.凡是用到[si]这种形式的,都注意声明BYTEPTR,WORD PTR 4.同3的错误,如果声明了COUNTDB 3,那么mov cx,count就是不对的,因为类型不匹配 5

《linux 内核完全剖析》 vsprintf.c 代码笔记

Flex1 到 Flex3 使用的都是 Halo组件,这里将介绍Halo 组件中的List 和 DataGrid .其中 DataGrid 是显示多列数据中最常用的方式.但是在Spark中还有没对应DataGrid的组件. 先写个"食物"的模型 Dinner.as . package model { [Bindable] public class Dinner { public var name:String; public var food:String; public var du

【代码笔记】剧幕拉开形的首页

一,工程图. 二,代码. RootViewController.h #import <UIKit/UIKit.h> #import "UIImage+SplitImageIntoTwoParts.h" @interface RootViewController : UIViewController { UIImageView *left; UIImageView *right; } @end RootViewController.m #import "RootVi

【代码笔记】Java连连看项目的实现(2)——JTable 、TableModel的使用

博客有时间就写写,所以一篇可能会拆成很多篇,写完后计划再合在一起. 首先肯定是要实现连连看的界面. 先准备连连看要的图片.. “LianLianKan”就是项目名称. 当然,如果小白看我的博客想学到什么,我会说还是放弃,因为文字描述会忽视很多细节,而细节决定bug…… 所以,包括以前的和以后的,博文都会是给自己看看或者内行触类旁通的,也就是——笔记. 我也是今天才明白博文的真正意义吧,所以以后的博文风格会大改……尽量会用自己语言风格来描述以便自己能看懂. 废话少说,现在的第2步: 创建数组,一个

资源 | 数十种TensorFlow实现案例汇集:代码+笔记

选自 Github 机器之心编译 参与:吴攀.李亚洲 这是使用 TensorFlow 实现流行的机器学习算法的教程汇集.本汇集的目标是让读者可以轻松通过案例深入 TensorFlow. 这些案例适合那些想要清晰简明的 TensorFlow 实现案例的初学者.本教程还包含了笔记和带有注解的代码. 项目地址:https://github.com/aymericdamien/TensorFlow-Examples 教程索引 0 - 先决条件 机器学习入门: 笔记:https://github.com/

尚硅谷SpringMVC代码笔记之SpringMVC_1

项目结构: 用来测试的index.jsp首页视图: index.jsp页面代码: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "