Of course I mean iOS 14.4, not 4.4…
I still don't understand why it worked once. Another bug ?
But documentation says :
https://developer.apple.com/documentation/uikit/uinavigationcontroller
We cannot change frame:
The navigation controller manages the creation, configuration, and display of the navigation bar and optional navigation toolbar. It is permissible to customize the navigation bar’s appearance-related properties but you must never change its frame, bounds, or alpha values directly. If you subclass UINavigationBar, you must initialize your navigation controller using the init(navigationBarClass:toolbarClass:) method. To hide or show the navigation bar, use the isNavigationBarHidden property or setNavigationBarHidden(_:animated:) method.
See also:
https://developer.apple.com/forums/thread/31500
There was also an interesting discussion on how to hide navigation bar progressively, a la Facebook. Just what you try to achieve.
It is in french, but code is in english (objC) !
h t t p s : / / qastack.fr/programming/19819165/imitate-facebook-hide-show-expanding-contracting-navigation-bar
They set the frame of self.navigationController.navigationBar but probably in a subclass.