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

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

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

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

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

Presenting a View Controller

顯示一個(gè) View Controller 主要有一下幾種方式:

  • 使用 segues 自動(dòng)顯示 View Controller;

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

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

通過(guò)上述方式,我們可以將一個(gè) View Controller 顯示出來(lái),而對(duì)于顯示地形式,我們可以使用 UIKit 中預(yù)定義的形式,也可以自定義(即自定義轉(zhuǎn)場(chǎng)動(dòng)畫)。

Customizing the Transition Animations

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

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

  • Animator(動(dòng)畫管理者)

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

  • Transitioning Delegate Object(轉(zhuǎn)場(chǎng)代理,用來(lái)提供 Animator 對(duì)象)

實(shí)現(xiàn)自定義轉(zhuǎn)場(chǎng)動(dòng)畫,通常按照以下幾個(gè)步驟來(lái)完成

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

  • 創(chuàng)建 Animator;

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

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

Presented View Controller

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

class PresentedViewController: UIViewController
        
		

網(wǎng)友評(píng)論