Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS 13 TabBar position is invalid after resuming device from lock #373

Open
lpbas opened this issue Sep 25, 2019 · 1 comment
Open

iOS 13 TabBar position is invalid after resuming device from lock #373

lpbas opened this issue Sep 25, 2019 · 1 comment

Comments

@lpbas
Copy link

lpbas commented Sep 25, 2019

Describe the bug
First of all I would like to thank you again for this library, I use it in my apps and it makes the user experience much more pleasurable.
I've been updating my app for iOS 13 and I've noticed an invalid behaviour of the Scrolling NavBar, TabBar to be exact.
If the device is locked and the NavBar/TabBar is collapsed, then its position is invalid, when the device wakes back up. The problem can be seen in the gif I've attached.

The problem appears when also presenting other VCs onto the VC that has the ScollingNavBar, such as when presenting a SideMenu, in my case.

To Reproduce
Steps to reproduce the behavior:

  1. Make the TabBar collapse.
  2. Lock the device/simulator
  3. Unlock the device, the TabBar will be visible, but in the .collapsed state, so once you scroll up, the TabBar moves above its normal position.
    (Tested on iPhone 11 Pro Max iOS 13 Simulator, which didn't seem to happen on iOS 12 and below after fixing The TabBar does not appear when resuming from a video inside a WKWebView #321 )

Expected behavior
The TabBar should either be collapsed when waking, or have the correct state so it does not go above its normal position

Screenshots
Here's the gif of the problem. gif

After taking a look at the source code, I believe that the scrollWithDelta function gets called before the didBecomeActive function, thus making the previousState param always .expanded before the didBecomeActive checks its value. All of these are in the ScrollingNavigationController class.

I'll do some more digging and report here if I find a fix, any ideas are appreciated

@lpbas
Copy link
Author

lpbas commented Sep 26, 2019

For now I worked around the issue by calling .showNavBar in my .applicationWillResignActive. However I'm seeing the misplaced TabBar issue on random occasions when scrolling too fast, or too slow, which is not something I can consistently reproduce.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant