总结一下页面跳转动画问题

项目中用到了[UIApplication sharedApplication].keyWindow.rootViewController来改变根视图,这样直接设置页面是改变了,但没有跳转动画。

今天研究了一下页面跳转动画的效果

  1. 用UIView的transitionFromViewController方法有一个限制,就是跳转的页面之间必须有一个共同的父视图,否则报错
    2.用UIView的transitionFromView方法,可以实现跳转动画,但是如果跳转过后的页面是Nav的页面,跳转后会有一个短暂但明显的Nav页面跳动,非常影响体验
    3.直接给window添加layer动画
    CATransition anim = [CATransition animation];
    anim.type = @"fade";
    anim.duration = 0.5;
    [[UIApplication sharedApplication].keyWindow.layer addAnimation:anim forKey:nil];
    [UIApplication sharedApplication].keyWindow.rootViewController = n;
    这里动画有很多
    /
    过渡效果
    fade //交叉淡化过渡(不支持过渡方向)
    push //新视图把旧视图推出去
    moveIn //新视图移到旧视图上面
    reveal //将旧视图移开,显示下面的新视图
    cube //立方体翻滚效果
    oglFlip //上下左右翻转效果
    suckEffect //收缩效果,如一块布被抽走(不支持过渡方向)
    rippleEffect //滴水效果(不支持过渡方向)
    pageCurl //向上翻页效果
    pageUnCurl //向下翻页效果
    cameraIrisHollowOpen //相机镜头打开效果(不支持过渡方向)
    cameraIrisHollowClose //相机镜头关上效果(不支持过渡方向)
    */
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在iOS实际开发中常用的动画无非是以下四种:UIView动画,核心动画,帧动画,自定义转场动画。 1.UIView...
    请叫我周小帅阅读 3,385评论 1 23
  • 本文转载自:http://www.cocoachina.com/ios/20150105/10812.html 为...
    idiot_lin阅读 1,424评论 0 1
  • 显式动画 显式动画,它能够对一些属性做指定的自定义动画,或者创建非线性动画,比如沿着任意一条曲线移动。 属性动画 ...
    清风沐沐阅读 2,136评论 1 5
  • 我告诉我的狗抽完这半包烟,就打算戒掉。点起了烟,烟盒揣进包里。我走在街上,霓虹闪烁,冬风异常的暖和。吸完最后一口我...
    北板藍根阅读 266评论 0 0
  • 王煜全:未来哪三种人不会被人工智能取代? 著名的《奇点临近》的作者、认知科学家和人工智能专家库兹韦尔,提出库兹韦尔...
    蛋壳记忆阅读 740评论 0 2

友情链接更多精彩内容