PresentViewController切换界面转场动画

视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画,
其中切换方法如下:

//弹出,出现一个新视图 可以带动画效果,完成后可以做相应的执行函数经常为nil
– presentViewController:animated:completion: 
退出一个新视图 可以带动画效果,完成后可以做相应的执行函数经常为nil
– dismissViewControllerAnimated:completion:

切换动画在压入一个新视图和弹出顶层视图均可以使用,下面只以压入视图为例。

presentModalViewController:animated:completion:使用系统自带四种动画
简单的实现方式:

[page2Controller setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentModalViewController:myNextViewController animated:YES  completion:nil];
系统支持的四种动画:
typedef enum {
UIModalTransitionStyleCoverVertical=0, //默认方式,竖向上推
UIModalTransitionStyleFlipHorizontal, //水平反转
UIModalTransitionStyleCrossDissolve,//隐出隐现
UIModalTransitionStylePartialCurl,//部分翻页效果
} UIModalTransitionStyle;

presentModalViewController:animated:completion: 不用自带的四种动画效果

实现全翻页效果:

    CATransition *animation = [CATransition animation];
animation.duration = 1.0;
animation.timingFunction = UIViewAnimationCurveEaseInOut;
animation.type = @"pageCurl";
//animation.type = kCATransitionPush;
animation.subtype = kCATransitionFromLeft;
[self.view.window.layer addAnimation:animation forKey:nil];
[self presentModalViewController:myNextViewController animated:NO completion:nil]; 

常見的轉換類型(type):

kCATransitionFade               //淡出
kCATransitionMoveIn          //覆盖原图
kCATransitionPush               //推出
kCATransitionReveal          //底部显出来
SubType:
kCATransitionFromRight
kCATransitionFromLeft    // 默认值  
kCATransitionFromTop
kCATransitionFromBottom

设置其他动画类型的方法(type):

pageCurl   向上翻一页
pageUnCurl 向下翻一页
rippleEffect 滴水效果
suckEffect 收缩效果,如一块布被抽走
cube 立方体效果
oglFlip 上下翻转效果 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言的前言 唐巧前辈在微信公众号「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各项指标...
    VincentHK阅读 5,467评论 3 44
  • 本文主要是记录一些在网上找到的一些方法,然后自己整理了下让自己更好理解一点, 如有侵权,请告知 本次实现的代码主要...
    哆啦_阅读 689评论 0 0
  • 多控制器切换. 1.概述. 在iOS开发中,视图的切换是很频繁的,常用的视图切换如下: UITabBarContr...
    ValienZh阅读 2,021评论 0 6
  • { 11、核心动画 需要签协议,但是系统帮签好 一、CABasicAnimation 1、创建基础动画对象 CAB...
    CYC666阅读 1,611评论 2 4
  • 当你跳起优美的华尔兹 我已离开这座城市 前往一座奇幻的山坳 一片片瓦砾、泥土、破碎的城墙 城墙用古老的故事 堆积成...
    长道赫书阅读 433评论 3 11