使用动画过渡时,UITabBar会显示黑屏。 (swift)

问题描述:

我正在制作iOS UITabBar应用程序,并尝试使用动画过渡。但是有一些错误。使用动画过渡更改视图时,我的应用程序显示黑色空白视图。使用动画过渡时,UITabBar会显示黑屏。 (swift)

我的一些代码

类的TransitionManager

... 
func animateTransition(transitionContext: UIViewControllerContextTransitioning) { 

    let container = transitionContext.containerView() 
    let fromView = transitionContext.viewForKey(UITransitionContextFromViewKey)! 
    let toView = transitionContext.viewForKey(UITransitionContextToViewKey)! 

    let offScreenRight = CGAffineTransformMakeTranslation(container.frame.width, 0) 
    let offScreenLeft = CGAffineTransformMakeTranslation(-container.frame.width, 0) 

    toView.transform = offScreenRight 

    container.addSubview(toView) 
    container.addSubview(fromView) 

    let duration = self.transitionDuration(transitionContext) 

    UIView.animateWithDuration(duration, delay: 0.0, usingSpringWithDamping: 0.5, initialSpringVelocity: 0.8, options: nil, animations: { 

     fromView.transform = offScreenLeft 
     toView.transform = CGAffineTransformIdentity 

     }, completion: { finished in 
      transitionContext.completeTransition(true) 
    }) 

} 
... 

的UITabBarController

func tabBarController(tabBarController: UITabBarController, animationControllerForTransitionFromViewController fromVC: UIViewController, toViewController toVC: UIViewController) -> UIViewControllerAnimatedTransitioning? { 
    var animatedTransitioningObject = TransitionManager() 
    return animatedTransitioningObject 
} 

我会尝试添加该代码,当过渡完成

}, completion: { finished in 
     transitionContext.completeTransition(true) 
     // add this line 
     UIApplication.sharedApplication().keyWindow!.addSubview(toView) 
}) 

现在我的第二个视图正确显示,但我的tabbar消失了! 我试图调试视图层次结构。看起来我的标签栏并没有消失。但是它带来了第二种观点。

如何解决这个问题?

ps。对不起,我的英语不好。

+0

你解决了吗? –

如果只发生在动画过程中,请尝试禁用UITabBar半透明。在将我的设备更新到9.0后,我发现与自定义动画类似的行为,最终成为我的根本问题。