【代码笔记】iOS-首页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];
}
复制代码

 

 

 
 

转载于:https://www.cnblogs.com/yang-guang-girl/p/5541320.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

acwing算法提高之动态规划--数位DP

目录 1 基础知识2 模板3 训练 1 基础知识 暂无。。。 2 模板 暂无。。。 3 训练 题目1&#xff1a;度的数量。 解题思路&#xff1a;分类讨论。 C代码如下&#xff0c; #include <iostream> #include <vector>using namespace std;const int N 35; int K,…

python 输入数字变成密码_如何在python中检查数字的“密码”

我建议使用sets和stdlib中的string包作为可接受字符的列表。在我还建议进行一点重构&#xff0c;以删除大量带有if / else分支的嵌套。在import stringupper set(list(string.uppercase))lower set(list(string.lowercase))numbers set(list(string.digits))while True:npw …

使用Eclipse在Amazon Ec2中部署Java Web应用程序的完整指南

嗨&#xff0c;读者们&#xff0c; 今天&#xff0c;我将向您展示如何使用Eclipse IDE在Amazon EC2中部署简单的Java Web应用程序。 在我们开始之前&#xff0c;我们需要一些必需的东西&#xff0c; Eclipse Java EE IDE –您可以从http://www.eclipse.org/downloads/下载&…

jquery的load方法

load方法指定一个界面会显示在目标的标签内部 比如MVC的一个分部视图页面想要显示在某个标签里面&#xff0c;可以写成 $(标签ID).load&#xff08;分部视图名称,data&#xff09; 其中第二个参数可选&#xff0c;主要是一些需要传递到该页面的数据JSON格式组成&#xff0c;发送…

android 录音原始文件_音频采集:Android基于AudioRecord的实现

前言这篇文章简单介绍下移动端Android系统下利用AudioRecord进行音频采集方法。按照惯例开始前先提供一份源码 AudioRecordLib 。AudioRecord采集的核心实现在于 AudioRecordCore.java 这个文件。权限申请想要使用AudioRecord这个API&#xff0c;需要在AndroidManifest.xml的配…

Spring 3和Java EE 6 –不公平和不完整的比较

这篇小文章的初稿标题为“ Spring&#xff06;Java EE –比较苹果和橙子”。 在撰写本文时&#xff0c;我了解到可以比较Spring Framework和Java EE&#xff0c;但这始终是不公平且不完整的工作。 Java for Enterprise和Spring Framework的发展紧密地联系在一起。 两者相互依存…

xml配置文件推荐方式

1.XML帮助类 /// <summary>/// Xml帮助类/// </summary>public class XmlHelper{/// <summary>/// 保存xml/// </summary>/// <typeparam name"T"></typeparam>/// <param name"path"></param>/// <p…

AFNetWorking https SSL认证

一般来讲如果app用了web service , 我们需要防止数据嗅探来保证数据安全.通常的做法是用ssl来连接以防止数据抓包和嗅探 其实这么做的话还是不够的 。 我们还需要防止中间人攻击&#xff08;不明白的自己去百度&#xff09;。攻击者通过伪造的ssl证书使app连接到了伪装的假冒的…

查看环境列表_Xfce 4.14桌面环境正式发布,想要图形界面又想节省内存?就它了...

1. Xfce 4.14桌面环境正式发布&#xff0c;它有什么新特性&#xff1f;本文主要讲解Xfce 4.14桌面环境正式发布&#xff0c;它有什么新特性。Xfce已经开发了4年多&#xff0c;但是这个周末终于看到了期待已久的Xfce 4.14的发布。Xfce 4.14是这个轻量级桌面环境的最新稳定版本&a…

使用Log4jdbc记录JDBC操作

当我们开发任何应用程序&#xff0c;完成它或结束其任何模块时&#xff0c;我们都会开始优化过程。 大多数应用程序都包含数据库访问权限&#xff0c;并且如果您使用的是ORM &#xff0c;则可能会使用hibernate 。 优化休眠持久层&#xff0c;要求准备阅读&#xff0c;理解和评…

android BluetoothAdapter蓝牙BLE扫描总结

做室内定位的程序员应该都知道&#xff0c;在Android 5.0之后&#xff0c;google推出了蓝牙扫描新接口&#xff0c;我们在实测中发现出一些问题&#xff0c;现在给大家列出&#xff0c;以供参考&#xff1a; 1.android 4.3.1(Build.VERSION_CODES.JELLY_BEAN_MR2)增加的startLe…

卷积神经网络语音识别_用于物体识别的3D卷积神经网络

本文提出了一种基于CNN的3D物体识别方法&#xff0c;能够从3D图像表示中识别3D物体&#xff0c;并在比较了不同的体素时的准确性。已有文献中&#xff0c;3D CNN使用3D点云数据集或者RGBD图像来构建3D CNNs&#xff0c;但是CNN也可以用于直接识别物体体积表示的体素。本文中&am…

段落排版--对齐(text-aliagn)

想为块状元素中的文本、图片设置居中样式吗&#xff1f;可以使用text-align样式代码&#xff0c;如下代码可实现文本居中显示。(那么什么是块状元素呢&#xff1f;后面会讲到呢~) h1{text-align:center; } <h1>了不起的盖茨比</h1> 同样可以设置居左&#xff1a; h…

Java 7:在不丢失数据的情况下关闭NIO.2文件通道

关闭异步文件通道可能非常困难。 如果您将I / O任务提交到异步通道&#xff0c;则需要确保正确执行了任务。 实际上&#xff0c;出于多种原因&#xff0c;这对于异步通道可能是一个棘手的要求。 默认的通道组使用守护进程线程作为工作线程&#xff0c;这不是一个好选择&#xf…

JavaScript封装方法,兼容参数类型为Number和String

/*** 依据Kind确定跳转到目标列表页面。* param kind*/function gobackByKind(kind) {var kindStr String(kind);switch(kindStr){case "1"://跳转到客户列表页面window.location.href/biz/customer/list;break;case "2"://跳转到代理机构列表页面window.…

#获得请求来源ip_以太网数据包TCP、IP、ICMP、UDP、ARP协议头结构详解

以太网首部目地MAC地址(8字节)源MAC地址(8字节)类型(2字节)1、IP头的结构版本(4位)头长度(4位)服务类型(8位)封包总长度(16位)封包标识(16位)标志(3位)片断偏移地址(13位)存活时间(8位)协议(8位)校验和(16位)来源IP地址(32位)目的IP地址(32位)选项(可选)填充(可选)数据(1)字节和…

团队项目第二次冲刺Ⅶ

今天将整体代码的编码方式改了&#xff0c;作业模块基本修改完成 遇到的问题是对于添加问答模块无从下手转载于:https://www.cnblogs.com/brucekun/p/5573312.html

编写Play 2的模块,第2部分:拦截器

在本教程的第一部分中&#xff0c;我们介绍了创建&#xff0c;发布和调用模块的基本知识。 我们创建的模块并没有真正做很多事情&#xff0c;因此现在是时候使用Play的某些功能来扩展功能了。 1.拦截器 拦截器使您可以拦截对控制器的调用&#xff0c;并增强或阻止其行为。 在第…

c# ef报错_C# EF调用MySql出现“未将对象引用设置到对象的实例”错误解决方案

C# EF调用MySql出现“未将对象引用设置到对象的实例”错误解决方案---修改步骤---1.打开Nuget管理包&#xff0c;把Mysql.Data替换为6.10.0以下任意版本。这里选择的是6.8.82.修改完毕后&#xff0c;继续把Mysql.Data.Entity也修改为对应版本6.8.8。3.安装完成后可以看到App.Co…

js格式化时间

Date.prototype.format function(fmt) {var o { "M" : this.getMonth()1, //月份 "d" : this.getDate(), //日 "h" : this.getHours(), //小时 "m" : this.getMinu…