iOS页面切换动画实现方式。
iOS页面切换动画实现方式。
1.使用UIView animateWithDuration:animations:completion方法
Java代码
- [UIView animateWithDuration:0.2f animations:^{
- detail.view.frame = CGRectMake(0, 0, detail.view.frame.size.width, detail.view.frame.size.height);
- } completion:^(BOOL finished) {
- UITableViewCell *cell = [articleTable cellForRowAtIndexPath:idx];
- cell.backgroundColor = [UIColor clearColor];
- }];
复制代码
2.使用UIView beginAnimations:context和UIView commitAnimations方法
Java代码
- [UIView beginAnimations:nil context: nil];
- [UIView setAnimationDuration:1.0];
- [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];//指定动画曲线
- [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];//指定动画方式为卷帘向下,类似的动画切换方式有CurlUp、FlipFromLeft、FlipFromRight,对应Apple Developer Documents中的枚举结构如下
- //UIViewAnimationTransition
- //Specifies a transition to apply to a view in an animation block.
- //typedef enum {
- // UIViewAnimationTransitionNone,
- // UIViewAnimationTransitionFlipFromLeft,
- // UIViewAnimationTransitionFlipFromRight,
- // UIViewAnimationTransitionCurlUp,
- // UIViewAnimationTransitionCurlDown,
- //} UIViewAnimationTransition;
- //要动画改变的属性
- self.view.alpha = 0.0;//动画改变透明度
- self.view.frame = CGRectMake(10, 10, 50, 50);//动画将视图改变到指定位置指定大小
- [self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];
- [UIView commitAnimations];//提交动画
复制代码
3.使用QuartzCore框架中的CATransition
Java代码
- CATransition *animation = [CATransition animation];
- animation.delegate = self;
- animation.duration = kDuration;
- animation.timingFunction = UIViewAnimationCurveEaseInOut;//动画的开始与结束的快慢
- animation.type = kCATransitionFade;//指定动画方式为Fade渐隐消去、类似还有kCATransitionPush、kCATransitionReveal、kCATransitionMoveIn、@"cube"、@"suckEffect"、@"oglFlip"、@"rippleEffect"、@"pageCurl"、@"pageUnCurl"、@"cameraIrisHollowOpen"、@"cameraIrisHollowClose"等,
- //pageCurl 向上翻一页
- //pageUnCurl 向下翻一页
- //rippleEffect 滴水效果
- //suckEffect 收缩效果,如一块布被抽走
- //cube 立方体效果
- //oglFlip 上下翻转效果
- //cameraIrisHollowOpen 相机打开效果
- //cameraIrisHollowClose 相机关闭效果
- Apple Developer Documents中介绍如下
- //Common Transition Types
- //These constants specify the transition types that can be used with the type property.
- //NSString * const kCATransitionFade;
- //NSString * const kCATransitionMoveIn;
- //NSString * const kCATransitionPush;
- //NSString * const kCATransitionReveal;
- animation.subtype = kCATransitionFromLeft;//指定动画进行方向从左边开始,类似还有kCATransitionFromBottom、kCATransitionFromRight、kCATransitionFromTop,Apple Developer Documents中介绍如下
- //Common Transition Subtypes
- //These constants specify the direction of motion-based transitions. They are used //with the subtype property.
- //NSString * const kCATransitionFromRight;
- //NSString * const kCATransitionFromLeft;
- //NSString * const kCATransitionFromTop;
- //NSString * const kCATransitionFromBottom;
- [self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];
- [[self.view layer] addAnimation:animation forKey:@"animation"];
复制代码
原文链接:http://www.apkbus.com/android-131034-1-1.html
iOS页面切换动画实现方式。的更多相关文章
- (原)android中的动画(三)之动画监听&页面切换动画
1.动画也可以设置监听事件,例如在动画结束时需要执行某操作 把要执行的代码写在onAnimationEnd()回调方法中即可: anim.setAnimationListener(new Animat ...
- iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例)
iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式:2.通知notific ...
- 【转】iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)-- 不错
原文网址:http://www.cnblogs.com/JuneWang/p/3850859.html iOS页面间传值的方式(NSUserDefault/Delegate/NSNotificatio ...
- iOS页面间传值的方式 (Delegate/NSNotification/Block/NSUserDefault/单例)
iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例) iOS页面间传值的方式(NSUserDefault/Delegate/NSN ...
- QtQuick多页面切换、多页面切换动画、多个qml文件数据交互
一.QtQuick多页面切换方法 (1)“隐藏法” 前一个视图visible设为false或者透明度opacity设为0,相当于“隐藏”了,实际还存在: 要显示的视图visible设为true或者透明 ...
- Android5.0之后的页面切换动画
Android5.0之后给我们开发者剩了好多的事情,为什么这么说呢?还记得刚开始的时候,Android里面的所有的动画都要我们开发者自己来写,现在不需要了,因为5.0之后自带了好多的动画,比如:按钮点 ...
- iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)
iOS页面间传值实现方法:1.通过设置属性,实现页面间传值:2.委托delegate方式:3.通知notification方式:4.block方式:5.UserDefault或者文件方式:6.单例模式 ...
- PresentViewController切换界面(一些系统自带的页面切换动画)
视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画, 其中切换方法如下: – presentViewCon ...
- Windows Phone使用sliverlight toolkit实现页面切换动画效果
使用应用时,好多app在页面切换的时候都有一个动画效果,感觉很炫,也大大增加了用户体验,怎么实现呢? 界面的切换,可以用Windows Phone Toolkit中的TransitionService ...
随机推荐
- SQLAlchemy表操作和增删改查
一.SQLAlchemy介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数 ...
- C#学习笔记-迭代器模式
什么是迭代器模式? 迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示. 何时使用迭代器模式? 当需要访问一个聚合对象,而且不管这些对象是什么都需要 ...
- Python3 决策树
# -*- coding: utf-8 -*-"""Created on Fri Dec 29 10:18:04 2017 @author: markli"&q ...
- JavaScript基础知识(JSON、Function对象、原型、引用类型)
19.JSON 概念:JavaScript 对象表示法(JavaScript Object Notation),是一种轻量级的数据交换格式 特点:易于程序员编写和查看:易于计算机解析和生成 数据结构 ...
- struts2中配置文件的调用顺序
1.default.properties 该文件保存在 struts2-core-2.3.7.jar 中 org.apache.struts2中 2.struts-default.xml 该文件保存在 ...
- cs231n spring 2017 lecture11 Detection and Segmentation 听课笔记
1. Semantic Segmentation 把每个像素分类到某个语义. 为了减少运算量,会先降采样再升采样.降采样一般用池化层,升采样有各种"Unpooling"." ...
- web前端性能优化总结
网站的划分一般为二:前端和后台.我们可以理解成后台是用来实现网站的功能的,比如:实现用户注册,用户能够为文章发表评论等等.而前端呢?其实应该是属于功能的表现.并且影响用户访问体验的绝大部分来自前端页面 ...
- HDU-5157Harry and magic string
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5157 先从后往前插点,在构造回文树时,让cnt[i]+=cnt[fail[i]],然后维护一个后缀和a. ...
- codeforces 746C 模拟
C. Tram time limit per test 1 second memory limit per test 256 megabytes input standard input output ...
- Vue中的$set的使用
在我们使用vue进行开发的过程中,可能会遇到一种情况:当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去: 当我们去看vue文档的时候,会发现有这么一句话:如果在实例创建之后添加新 ...