iOS开发- 启动动画(动态欢迎界面,非静态Default)
最近在使用《青葱日记》这款App,发现它的启动界面做的很精美。
不同我自己之前简单的替换Default.png图片。 它的动态效果做的不错。
于是乎,花了点时间,自己实现了这个功能。 其实也很简单,具体效果如下
实现起来也不困难。因为我们知道,在应用启动的时候,它会先执行AppDelegate.m中的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
执行完之后,才会进入视图。如果,我们在这个方法中加入一些动画,那么就会在动画执行完之后再进入我们的rootview。这就是实现原理。 很简单吧。
下面直接给出实现这一效果的源码,很简单。不多说废话(当然,实现方法很多。 我只是给出我自己的方法)
1.AppDelegate.h中声明一个UIImageView
@property (strong, nonatomic) UIImageView *splashView;
2.AppDelegate.m实现相关功能
@synthesize splashView;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{// Override point for customization after application launch.[self.window makeKeyAndVisible];splashView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 568)];[splashView setImage:[UIImage imageNamed:@"back_"]];[self.window addSubview:splashView];[self.window bringSubviewToFront:splashView];[self performSelector:@selector(scale_1) withObject:nil afterDelay:0.0f];[self performSelector:@selector(scale_2) withObject:nil afterDelay:0.5f];[self performSelector:@selector(scale_3) withObject:nil afterDelay:1.0f];[self performSelector:@selector(scale_4) withObject:nil afterDelay:1.5f];[self performSelector:@selector(scale_5) withObject:nil afterDelay:2.0f];[self performSelector:@selector(showWord) withObject:nil afterDelay:2.5f];return YES;
}-(void)scale_1
{UIImageView *round_1 = [[UIImageView alloc]initWithFrame:CGRectMake(100, 240, 15, 15)];round_1.image = [UIImage imageNamed:@"round_"];[splashView addSubview:round_1];[self setAnimation:round_1];
}-(void)scale_2
{UIImageView *round_2 = [[UIImageView alloc]initWithFrame:CGRectMake(105, 210, 20, 20)];round_2.image = [UIImage imageNamed:@"round_"];[splashView addSubview:round_2];[self setAnimation:round_2];
}-(void)scale_3
{UIImageView *round_3 = [[UIImageView alloc]initWithFrame:CGRectMake(125, 170, 30, 30)];round_3.image = [UIImage imageNamed:@"round_"];[splashView addSubview:round_3];[self setAnimation:round_3];
}-(void)scale_4
{UIImageView *round_4 = [[UIImageView alloc]initWithFrame:CGRectMake(160, 135, 40, 40)];round_4.image = [UIImage imageNamed:@"round_"];[splashView addSubview:round_4];[self setAnimation:round_4];
}-(void)scale_5
{UIImageView *heart_1 = [[UIImageView alloc]initWithFrame:CGRectMake(130, 180, 100, 100)];heart_1.image = [UIImage imageNamed:@"heart_"];[splashView addSubview:heart_1];[self setAnimation:heart_1];
}-(void)setAnimation:(UIImageView *)nowView
{[UIView animateWithDuration:0.6f delay:0.0f options:UIViewAnimationOptionCurveLinearanimations:^{// 执行的动画code[nowView setFrame:CGRectMake(nowView.frame.origin.x- nowView.frame.size.width*0.1, nowView.frame.origin.y-nowView.frame.size.height*0.1, nowView.frame.size.width*1.2, nowView.frame.size.height*1.2)];}completion:^(BOOL finished){// 完成后执行code[nowView removeFromSuperview];}];}-(void)showWord
{UIImageView *word_ = [[UIImageView alloc]initWithFrame:CGRectMake(75, 440, 170, 29)];word_.image = [UIImage imageNamed:@"word_"];[splashView addSubview:word_];word_.alpha = 0.0;[UIView animateWithDuration:1.0f delay:0.0f options:UIViewAnimationOptionCurveLinearanimations:^{word_.alpha = 1.0;}completion:^(BOOL finished){// 完成后执行code[NSThread sleepForTimeInterval:1.0f];[splashView removeFromSuperview];}];
}
学习的路上,与君共勉。
iOS开发- 启动动画(动态欢迎界面,非静态Default)相关推荐
- 机械原理动图结构设计原理图动画动态传动机构演示非标资料
2万个机械原理动图结构设计原理图动画动态传动机构演示非标资料 tao
- 2万个机械原理动图结构设计原理图动画动态传动机构演示非标资料
2万个机械原理动图结构设计原理图动画动态传动机构演示非标资料 tao
- iOS 开发之动画篇 - 从 UIView 动画说起
毋庸置疑的:在iOS开发中,制作动画效果是最让开发者享受的环节之一.一个设计严谨.精细的动画效果能给用户耳目一新的效果,吸引他们的眼光 -- 这对于app而言是非常重要的. 本文作为动画文集的第一篇, ...
- ios开发学习--动画(Animation)效果源码分享--系列教程1
Genie View 介绍: 实现所谓的genie effect.即点击最小化或删除按钮,视图会被吸进某个地方. http://ios.itmdc.com/forum.p ...
- 修改linux内核启动动画,Android 开机界面及Linux内核启动界面的修改(tiny6410)
第一开机界面替换,即内核bootloader启动小企鹅界面更换 1.首先找一个自定义120*120的png图像,这里名称linux.png,但是后面的ppm名称必须是图中所示 在linux下执行下面代 ...
- iOS 开发之动画篇 - Transform和KeyFrame动画
原文发布于http://www.jianshu.com/p/a071bba99a1b 序言 追求美好是人的天性,这是猿们无法避免的.我们总是追求更为酷炫的实现,如果足够仔细,我们不难发现一个好的动画通 ...
- iOS开发-动画总结
一.简介 IOS 动画主要是指Core Animation框架.官方使用文档地址为:Core Animation Guide. Core Animation是IOS和OS X平台上负责图形渲染与动画的 ...
- iOS开发-使用Storyboard进行界面跳转及传值
前言:苹果官方是推荐我们将所有的UI都使用Storyboard去搭建,Storyboard也是一个很成熟的工具了.使用Storyboard去搭建所有界面,我们可以很迅捷地搭建出复杂的界面,也就是说能为 ...
- IOS开发之——动画-转场动画(98)
一 概述 CATransition转场动画介绍 专场动画属性及过渡效果 示例(动画切换模拟转场动画) 二 CATransition专场动画介绍 nCATransition是CAAnimation的子类 ...
最新文章
- 九九乘法表c语言代码空格,九九乘法表的C语言代码.doc
- Selenium Web 自动化 - 如何找到元素
- 一条路走不通了,就走另一条:
- SpringBoot Actuator监控【转】
- redis高级-内存淘汰策略
- traceroute和mtr
- 【数学】奶牛编号(jzoj 2932)
- C++关于虚基类、构造函数、析构函数、成员对象的两个程序浅析
- 【操作系统】进程调度(4):I/O、不可预测的运行时间
- 转: 自适应css布局—-流动布局新时代(译文)
- 【Flink】Flink kafka Spark 如何实现数据有序性
- matlab 多项式表达,Matlab多项式运算
- Ubuntu zip压缩文件夹 和解压文件
- Jmeter安装及使用教程
- 基于OpenCv的人脸识别(Python完整代码)
- 准确率(accuracy)、精确率(Precision)、召回率(Recall)
- python量化策略——改进的美林时钟代码(代码版)
- 微信开发流程总结(基于微信平台)
- Boofuzz协议漏洞挖掘入门教程与使用心得
- PCB中solder层和paste层的区别