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類里面實現,沒有實現不了,只有想不到!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM