IOS动画隐式,显式,翻页

//  ViewController.m

//  IOS动画0817

//

//  Created by 张艳锋 on 15/8/17.

//  Copyright (c) 2015年 张艳锋. All rights reserved.

//

#import "ViewController.h"

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UIImageView *imageview;

- (IBAction)doAnimationButton:(id)sender;

- (IBAction)doLeftButton:(id)sender;

- (IBAction)doRightButton:(id)sender;

- (IBAction)doUpButton:(id)sender;

- (IBAction)doDownButton:(id)sender;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (IBAction)doAnimationButton:(id)sender {

/********隐式动画********/

/*

[UIView beginAnimations:nil context:NULL];//动画开始标志

//定义一个仿射变换

CGAffineTransform moveTrans=CGAffineTransformMakeTranslation(300, 600);

// CGAffineTransformMakeTranslation//更改位置的函数

// CGAffineTransformMakeRotation//k控制旋转

//CGAffineTransformMakeScale//控制缩放

[_imageview.layer setAffineTransform:moveTrans];

[UIView commitAnimations];//提交动画

*/

/********显式动画********/

//定义显示动画的时候,我们不必定义CALayer的变化,也不必执行它,而是通过CABasicAnimation逐个定义动画,其中每个动画都含有各自的属性,然后通过addAnimation:方法添加到图层中

/*

CABasicAnimation *basic=[CABasicAnimation animationWithKeyPath:@"opacity"];//opacity表示透明度

basic.duration=6.0;//6秒内透明度变为零

basic.fromValue=[NSNumber numberWithFloat:0.2];//初始透明度

basic.toValue=[NSNumber numberWithFloat:1.0];//最终透明度

basic.cumulative=YES;//设置透明度递增

[_imageview.layer addAnimation:basic forKey:@"animateOpacity"];

CGAffineTransform moveTrans1=CGAffineTransformMakeTranslation(300, 600);

CABasicAnimation *basic_move=[CABasicAnimation animationWithKeyPath:@"transform"];//准备函数(为平移做准备)

basic_move.duration=6.0;

//CATransform3DMakeAffineTransform仿射变换为3D效果(仿射不能直接应用于显式动画)

basic_move.toValue=[NSValue valueWithCATransform3D:CATransform3DMakeAffineTransform(moveTrans1)];

[_imageview.layer addAnimation:basic_move forKey:@"animateTransform2"];

*/

/********关键帧动画********/

/*

CAKeyframeAnimation *keyAnimation=[CAKeyframeAnimation  animationWithKeyPath:@"opacity"];//透明度

keyAnimation.duration=6.0;//动画时间

keyAnimation.values=[NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0],[NSNumber numberWithFloat:0.6],[NSNumber numberWithFloat:1.0], nil];//

keyAnimation.keyTimes=[NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0],[NSNumber numberWithFloat:0.3],[NSNumber numberWithFloat:1.0], nil];

[_imageview.layer addAnimation:keyAnimation forKey:@"animateOpcaty"];

CGAffineTransform moveTrans2=CGAffineTransformMakeTranslation(300, 600);

CABasicAnimation *basic_move2=[CABasicAnimation animationWithKeyPath:@"transform"];

basic_move2.duration=6.0;

basic_move2.toValue=[NSValue valueWithCATransform3D:CATransform3DMakeAffineTransform(moveTrans2)];

[_imageview.layer addAnimation:basic_move2 forKey:@"animateTransform2"];

*/

}

//系统自带反转动画(上下左右)

- (IBAction)doLeftButton:(id)sender {

//三次向左不返回

[UIView beginAnimations:nil context:NULL];

[UIView setAnimationDuration:1.5f];//动画时间

[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];//设置动画曲线方式(动画的总体变化时间曲线,包含开始慢后来快,开始快后来慢,均匀曲线)

[UIView setAnimationRepeatAutoreverses:NO];//设置动画是否做一次反向操作

[UIView setAnimationRepeatCount:3];//执行次数

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];//

[UIView commitAnimations];

}

- (IBAction)doRightButton:(id)sender {

//三次向右有返回

[UIView beginAnimations:nil context:NULL];

[UIView setAnimationDuration:1.5f];

[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];

[UIView setAnimationRepeatAutoreverses:YES];

[UIView setAnimationRepeatCount:3];//执行次数

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];

[UIView commitAnimations];

}

- (IBAction)doUpButton:(id)sender {

[UIView beginAnimations:nil context:NULL];

[UIView setAnimationDuration:1.5f];

[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];

[UIView setAnimationRepeatAutoreverses:YES];

[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];

[UIView commitAnimations];

}

- (IBAction)doDownButton:(id)sender {

[UIView beginAnimations:nil context:NULL];

[UIView setAnimationDuration:1.5f];

[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];

[UIView setAnimationRepeatAutoreverses:YES];

[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];

[UIView commitAnimations];

}

时间: 2024-10-12 15:16:58

IOS动画隐式,显式,翻页的相关文章

网站后端_Python+Flask.0008.FLASK响应相关之隐式显式与自定义响应?

隐式响应: 1. 视图函数的返回值会被隐式转换为一个响应对象 2. 如果返回的是一个合法的响应对象,则会从视图函数中直接返回 3. 如果返回的是一个字符串,会用字符串数据和默认参数创建字符串为主体,状态码为200,MIME类型为text/html的werkzeug.wrappers.Response响应对象 4. 如果返回的是一个元组(response, status, headers),且至少包含一个元素,status值会覆盖状态代码,headers可以是一个列表或是字典,作为额外的消息头 5

iOS Core Animation Advanced Techniques(四):隐式动画和显式动画

隐式动画 按照我的意思去做,而不是我说的. -- 埃德娜,辛普森 我们在第一部分讨论了Core Animation除了动画之外可以做到的任何事情.但是动画师Core Animation库一个非常显著的特性.这一章我们来看看它是怎么做到的.具体来说,我们先来讨论框架自动完成的隐式动画(除非你明确禁用了这个功能). 事务 Core Animation基于一个假设,说屏幕上的任何东西都可以(或者可能)做动画.动画并不需要你在Core Animation中手动打开,相反需要明确地关闭,否则他会一直存在.

CoreAnimation4-隐式动画和显式动画

事务 Core Animation基于一个假设,说屏幕上的任何东西都可以(或者可能)做动画.动画并不需要你在Core Animation中手动打开,相反需要明确地关闭,否则他会一直存在. 当你改变CALayer的一个可做动画的属性,它并不能立刻在屏幕上体现出来.相反,它是从先前的值平滑过渡到新的值.这一切都是默认的行为,你不需要做额外的操作. 这看起来这太棒了,似乎不太真实,我们来用一个demo解释一下:首先和第一章“图层树”一样创建一个蓝色的方块,然后添加一个按钮,随机改变它的颜色.代码见清单

iOS-Core-Animation之八----显式动画

如果想让事情变得顺利,只有靠自己 -- 夏尔·纪尧姆 上一章介绍了隐式动画的概念.隐式动画是在iOS平台创建动态用户界面的一种直接方式,也是UIKit动画机制的基础,不过它并不能涵盖所有的动画类型.在这一章中,我们将要研究一下*显式动画*,它能够对一些属性做指定的自定义动画,或者创建非线性动画,比如沿着任意一条曲线移动. ##属性动画 首先我们来探讨一下*属性动画*.属性动画作用于图层的某个单一属性,并指定了它的一个目标值,或者一连串将要做动画的值.属性动画分为两种:*基础*和*关键帧*. ##

IOS动画总结

IOS动画总结 http://blog.sina.com.cn/s/blog_611b9d9d01015dkm.html (2012-06-01 14:50:32) 转载▼ 标签: 杂谈 分类: IOS 一.基本方式:使用UIView类的UIViewAnimation扩展 + (void)beginAnimations:(NSString *)animationID context:(void *)context; // 开始准备动画+ (void)commitAnimations; // 运行

jQuery和CSS3全屏垂直翻页特效插件

FSVS(Full Screen Vertical Scroller)是一款jQuery和CSS3带过渡效果的全屏垂直翻页特效插件.该全屏翻页插件在页面上下滚动时一次翻一屏,并带有CSS3过渡动画效果. 该jquery翻页插件的效果和OnePageScroll.js类似,但使用上要简单得多. 在线演示:http://www.htmleaf.com/Demo/201503021447.html 下载地址:http://www.htmleaf.com/jQuery/Layout-Interface/

iOS 动画基础-显式动画

摘要 显式动画 属性动画 CABasicAnimation *animation = [CABasicAnimation animation];         [self updateHandsAnimated:NO];         animation.keyPath = @"transform";         animation.toValue = [NSValue valueWithCATransform3D:transform];         animation.d

iOS Core Animation Advanced Techniques-显式动画

上七章节: 图层树 图层的寄宿图 图层几何学 图层视觉效果 图层变换 专用图层 隐式动画 这篇随笔主要介绍有关图层显式动画. 显示动画: 能对一些属性做指定的自定义动画,或者创建非线性动画 属性动画: 属性动画作用于图层的某个单一属性,并指定了它的一个目标值,或一连串将要做动画的值 属性动画分两种: 1.基础 2.关键帧 基础动画:(通过CALayer的实例方法addAnimation: forKey:给图层添加显示动画) CABasicAnimation-->CAPropertyAnimati

Windows提供了两种将DLL映像到进程地址空间的方法(隐式和显式)

调用DLL,首先需要将DLL文件映像到用户进程的地址空间中,然后才能进行函数调用,这个函数和进程内部一般函数的调用方法相同.Windows提供了两种将DLL映像到进程地址空间的方法: 1. 隐式的加载时链接 这种方法需要DLL工程经编译产生的LIB文件,此文件中包含了DLL允许应用程序调用的所有函数的列表,当链接器发现应用程序调用了LIB文件列出的某个函数,就会在应用程序的可执行文件的文件映像中加入一些信息,这些信息指出了包含这个函数的DLL文件的名字.当这个应用程序运行时,也就是它的可执行文件