gpt4 book ai didi

ios - UITabBar 在使用动画过渡时显示黑屏。 ( swift )

转载 作者:可可西里 更新时间:2023-10-31 23:44:42 27 4
gpt4 key购买 nike

我正在制作 iOS UITabBar 应用程序,我尝试使用动画过渡。但是有一点不对劲。当使用动画过渡更改 View 时,我的应用程序显示黑色空白 View 。

我的一些代码

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)
})

}
...

UITabBar Controller

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)
})

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

如何解决这个问题?

附言。抱歉我的英语不好。

最佳答案

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

关于ios - UITabBar 在使用动画过渡时显示黑屏。 ( swift ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31524436/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com