zoukankan      html  css  js  c++  java
  • iOS 7 present/dismiss转场动画

    前言

    iOS 7以后提供了自定义转场动画的功能,我们可以通过遵守协议完成自定义转场动画。本篇文章讲解如何实现自定义presentdismiss自定义动画。

    效果图

    本篇文章实现的动画切换效果图如下:

    image

    视图切换种类

    如下效果图,这是有两大类视图切换动画的,一种是交互式的,另一种就是自定义的。

    image

    本篇只讲其中的UIViewControllerAnimatedTransitioning协议,来实现presentdismiss动画效果。另外的几个,后面会继续学习总结!!!

    协议

    我们要实现presentdismiss自定义转场效果,我们必须要有一个遵守了UIViewControllerAnimatedTransitioning协议且实现其必须实现的代理方法的类。

    我们先来学习UIViewControllerAnimatedTransitioning协议:

    我们要实现目标效果,就需要一个定义一个类遵守UIViewControllerAnimatedTransitioning协议并实现相应的代理方法。

    遵守UIViewControllerAnimatedTransitioning协议

    下面,我们来定义一个转场类,这个类必须要遵守UIViewControllerAnimatedTransitioning协议,如下:

    头文件

    我们只公开了一个方法来创建,指定动画类型,动画时长,呈现的高度,缩放系数。

    实现文件

    我们这里就不细讲了,因为在iOS 7 push/pop转场动画中已经讲过了。大家若未看过,可以先阅读。

    测试效果

    我们要设置一下被present的控制器的代理,在-viewDidLoad:时添加如下代码:

    同时,还需要遵守协议并实现协议UIViewControllerTransitioningDelegate,这个是控制器转场动画实现的代理:

    我们设置presentdismiss自定义对象,就可以实现我们的动画了。

    想要实现什么样的动画,都可以在HYBModalTransition类里面实现,没有实现不了,只有想不到!!!

  • 相关阅读:
    [轉]Discuz!NT 数据库读写分离方案
    [轉]最流行的PHP MVC框架
    [轉]关于MS SQL的执行计划
    [轉]Oracle读写分离架构
    [轉]資料庫讀寫分離
    [轉]SQL Server 老是死锁,或提示进程已牺牲,怎麽解决
    [轉]让IIS支持解析json
    [轉]jquery.validate全攻略
    [轉]Flex判断对象的类型
    [轉]mssql 数据表修复方法
  • 原文地址:https://www.cnblogs.com/jiayongqiang/p/5339669.html
Copyright © 2011-2022 走看看