Transparent navigation bar glitch

Black navigation bar you see is actually a navigation controller view background color. Try add this code in first view controller videDidLoad method

navigationController?.view.backgroundColor = navigationController?.navigationBar.barTintColor

Setting the navigation controller view background color did fix the black issue for me, but I was still having the "delay" problem when popping a view controller.

I fixed it by changing the theme of my NavigationController on the willMove method of the view controller being popped. Something like this:

override func willMove(toParent parent: UIViewController?) {
    super.willMove(toParent: parent)
    guard parent == nil,
          let navController = self.navigationController else {
            return
    }

    navController.navigationBar.isTranslucent = false
    navController.view.backgroundColor = backgroundColor
    navController.navigationBar.barTintColor = barColor
    navController.navigationBar.tintColor = tintColor
}