2017-08-29 81 views
0

好吧,我已經瀏覽了https://developer.apple.com/videos/play/wwdc2013/218/和SO問題,類似地嘗試使用標籤欄控制器及其視圖控制器進行自定義轉換,但是在確定了此處的主要步驟之後,Im進入了混亂狀態。Swift:自定義UIView.transition問題?

我需要知道如何調用自定義的UIView.transition或只是在UIView.transition中有一個自定義的option。我需要使用它來在標籤欄控制器中的標籤之間進行滑動/模式模仿過渡。

的唯一途徑,我可以得到一個過渡使用下面的函數發生(這使得它們溶解):

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool { 

      if selectedViewController == nil || viewController == selectedViewController { 
       return false 
      } 

      let fromView = selectedViewController!.view 
      let toView = viewController.view 

      UIView.transition(from: fromView!, to: toView!, duration: 0.3, options: [.transitionCrossDissolve], completion: nil) 

      return true 
     } 

,把它手動在這兒,我編程chnage的*selectedIndex*我的選項卡控制器:

//SWITCHES BUTTON ------------------------------------------- 
    func switchTab(index: Int) 

    { 
     //transition 
     self.tabBarController(self, shouldSelect: (viewControllers?[index])!) 

我已閱讀並試圖使自定義類UIViewControllerAnimatedTransitioning但不知道如何做到這一點適合在這裏編程 -

我試圖將我的標籤欄控制器和toViewfromView傳遞到自定義類中,導致沒有任何動作發生。這就是爲什麼我在這裏使用UIView.transition。

我該如何定製UIView.transition?我能在這裏做什麼?

回答

0

您應符合UITabBarControllerDelegate 和創建customTransition類,並把它作爲如下:

func tabBarController(_ tabBarController: UITabBarController, animationControllerForTransitionFrom fromVC: UIViewController, to toVC: UIViewController) -> UIViewControllerAnimatedTransitioning? { 
     let animator = TabAnimationManager() 
     return animator 

    } 

和類TabAnimationManager應該UIPercentDrivenInteractiveTransition的子類,符合UIViewControllerAnimatedTransitioning協議。您可以在該類中添加自定義動畫。