woocommerce / woocommerce-ios

WooCommerce iOS app
https://www.woocommerce.com/mobile
GNU General Public License v2.0
310 stars 111 forks source link

Main tab bar is always visible / can't be hidden #13894

Open rachelmcr opened 2 months ago

rachelmcr commented 2 months ago

Describe the bug

When we navigate to some screens in the app, we want to hide the main tab bar at the bottom of the screen. However, that setting is no longer working, so the tab bar remains visible.

For example, when viewing the System Status Report we want to hide the main tab bar. In UIKit, we use hidesBottomBarWhenPushed to set that, and it has no effect.

To Reproduce Steps to reproduce the behavior:

  1. Open the hub menu.
  2. Select Settings.
  3. Select Help & Support.
  4. Select System Status Report.
  5. Note the tab bar is still visible at the bottom of the screen even though it should be hidden.

Screenshots

https://github.com/user-attachments/assets/51d9860e-b32e-4809-91ec-526fa60a41d2

dangermattic commented 2 months ago

Thanks for reporting! 👍

rachelmcr commented 2 months ago

It looks like at least for the SSR (and possibly anything in the hub menu) this broke with 280ca8e3966e9687040e1d5c8cb2d757ef50a93b.

The same issue also occurs in other parts of the app (e.g. when refunding a shipping label on an order or editing/creating a new product) but must have a different root cause.

Ecarrion commented 1 month ago

I think this breaks when using HostingViewControllers I have not yet found a solution for it :-/

iamgabrielma commented 1 month ago

Not sure if helps, but when the HubMenu was updated we also started to see problems when hiding the main tab bar in the Point of Sale mode. We worked around it by setting the isHidden property, and explicitly calling for an update to the safeAreaInsets in order to trigger the layout update we needed.

Related PRs for context:

While it works fine at the moment, it's a bit delicate as we've already tackled a few regressions due to further changes in the HubMenu.