2016-12-27 17 views
0

我需要自定義塞格從上到下的過渡幫助。它很容易過渡,但我不知道該怎麼做。它是在故事板中完成還是必須在代碼中完成?如果它必須以編程方式進行,我該怎麼做?塞格在Swift中從上到下過渡3

+0

什麼樣的過渡?推繼續?莫代爾賽格?什麼? – matt

+0

對不起,我沒有經歷過Swift和我現在的學習。請耐心一點,平靜的心情。我認爲有這種醜陋的態度是不合適的。我需要推繼續。 – pulitr

+2

請不要告訴我如何索取更多信息。你已經給出了信息,這很好,這就夠了。 – matt

回答

2

您正在嘗試編寫一個自定義過渡動畫以進行推送。所以這就是你要做的:

  • 爲你的導航控制器設置一個代表。

  • 在委託,實施func navigationController(_ navigationController: UINavigationController, animationControllerFor operation: UINavigationControllerOperation, from fromVC: UIViewController, to toVC: UIViewController) -> UIViewControllerAnimatedTransitioning?返回實現UIViewControllerAnimatedTransitioning對象(這往往是self在現實生活中)

  • 在該對象,實施func transitionDuration(using ctx: UIViewControllerContextTransitioning?) -> TimeIntervalfunc animateTransition(using ctx: UIViewControllerContextTransitioning)

  • animateTransition,從上下文獲取信息(ctx)。將to視圖放入containerView並將其設置爲finalFrame。在你的情況下,你將從最後一幀之上的視圖開始,並按照你的指定向下移動它。當你全部完成時(即在動畫的完成處理程序中),請務必在上下文中調用completeTransition

+0

非常感謝你:) – pulitr