UI 过渡期间导航栏右侧出现故障(黑色闪烁)

UI glitch (black flicker) on right side of navbar during transition

我有一个应用程序有一个 uipageviewcontroller,在应用程序初始启动时显示。在 uipageviewcontroller 的最后一页上,我向主导航控制器展示了一个 TransitionCrossDissolve 动画。 当动画正在进行时,我在导航栏的右侧看到一个微小的黑色背景闪烁,如下所示:

一开始我整个导航栏黑屏,调用后

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    self.navigationController?.navigationBar.layer.removeAllAnimations()

}

问题几乎消失了。

她是调用 removeAllAnimations() 之前问题的 gif:

这是我在 uipageviewcontroller 的最后一页调用动画的方式:

let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate

UIView.transitionWithView(appDelegate.window!, duration: 0.5, options: UIViewAnimationOptions.TransitionCrossDissolve , animations: { () in

        appDelegate.window!.rootViewController = appDelegate.mainNavigationController

}, completion: nil)

我正在使用一个程序来去除导航栏底部的细线,这可能很重要。这可能是所有这一切的原因吗​​?

参考: How to hide iOS7 UINavigationBar 1px bottom line

如果有任何关于此问题的反馈,我将不胜感激。

Brgds

我能够通过移除导航栏所有子视图上的动画来移除黑色 UI 故障。我认为问题出在正确的 UINavigationItem 上。 这是我使用的代码:

let subviews = (self.navigationController?.navigationBar.subviews as [UIView])
    for subview: UIView in subviews {
        subview.layer.removeAllAnimations()
    }