冬天已經(jīng)過去了,陽光越來越暖洋洋的了。還記得上學的時候,老師總說“春天是播種的季節(jié)”,而我還沒在朋友圈許下什么愿望。一年了,不敢想象回首還能看到點什么,所以勇往直前。當被俗世所擾,你是否也丟失了自己,忘卻了理想。

欲做精金美玉的人品,定從烈火中煅來;
思立掀天揭地的事功,須向薄冰上履過。

大數(shù)據(jù)培訓,云培訓,數(shù)據(jù)挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經(jīng)理培訓

這篇博客中,我們主要來敘述一下上述動畫效果的實現(xiàn)方案。主要涉及 View Controller 轉(zhuǎn)場動畫的知識。

我搭建了個人站點,那里有更多內(nèi)容,請多多指教。點我哦?。?!

Presenting a View Controller

顯示一個 View Controller 主要有一下幾種方式:

  • 使用 segues 自動顯示 View Controller;

  • 使用 showViewController:sender: 和 showDetailViewController:sender: 方法顯示 View Controller;

  • 調(diào)用 presentViewController:animated:completion: 方法依模態(tài)形式顯示 View Controller

通過上述方式,我們可以將一個 View Controller 顯示出來,而對于顯示地形式,我們可以使用 UIKit 中預定義的形式,也可以自定義(即自定義轉(zhuǎn)場動畫)。

Customizing the Transition Animations

自定義轉(zhuǎn)場動畫中,主要包含以下幾個組件:

  • Presenting View Controller(正在顯示的 View Controller)

  • Animator(動畫管理者)

  • Presented View Controller(要顯示的 View Controller)

  • Transitioning Delegate Object(轉(zhuǎn)場代理,用來提供 Animator 對象)

實現(xiàn)自定義轉(zhuǎn)場動畫,通常按照以下幾個步驟來完成

  • 創(chuàng)建 Presented View Controller;

  • 創(chuàng)建 Animator;

  • 設(shè)置 Presented View Controller 的 transitioningDelegate 屬性,并實現(xiàn) UIViewControllerTransitioningDelegate 提供 Animator 對象;

  • 在 Presenting View Controller 中調(diào)用 presentViewController:animated:completion: 顯示 Presented View Controller;

Presented View Controller

這里,我們將 Presented View Controller 本身作為其轉(zhuǎn)場代理,你也可以使用單獨的代理對象。

class PresentedViewController: UIViewController