簡體   English   中英

使用動畫過渡時,UITabBar顯示黑屏。 (迅速)

[英]UITabBar show black screen when use animated transition. (swift)

我正在制作iOS UITabBar應用程序,我嘗試使用動畫過渡。 但是有些不對勁。 當使用動畫過渡更改視圖時,我的應用程序顯示黑色空白視圖。

我的一些代碼

class 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。 對不起,我的英語不好。

如果僅在動畫期間發生,請嘗試禁用UITabBar半透明效果。 在將設備更新到9.0后,我發現自定義動畫的行為類似,最終成為我的根本問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM