While testing further on iOS 26, I noticed another issue when using hidesBottomBarWhenPushed = true
.
When I push a view controller with this property enabled and then navigate back, the pushed view controller’s deinit()
is not called.
Additionally, the navigation bar does not properly reset — for example, the rightBarButtonItem
set in the pushed view controller remains visible even after returning to the previous screen (e.g., the Home tab).
It seems likely that because deinit()
is not called, the pushed controller is not fully removed from memory, which may explain why its navigationItem
is still affecting the navigation bar after popping.
This behavior disappears when I comment out hidesBottomBarWhenPushed = true
.