We've had the same issue. I found two ways of fixing it.
First is to unhide the bar in viewDidAppear - works, but feels janky as the user will see the bar appear after the push transition.
Second was hacky, but produces a cleaner experience for the user.
navigationController?.setNavigationBarHidden(false, animated: false)
RunLoop.main.perform {
self.navigationController?.pushViewController(someController, animated: true)
}
We'll go with the first even though the layout jank makes it less nice for the user; queing up a push on the next run loop feels pretty horrible...
Hopefully Apple get round to fixing this pretty quickly, since they've forced this tab bar change on us!