
On iOS 12.0.1, iPhone X with SwipeableTabBarController 1.4.0. Initially, produced in my app and then reproduced on the sample app.
Issue: Swipe very quick (velocity.x > 1500, even up to 4000) causes the app to sometime freeze. The tabs may still work (they select but nothing else changes).
Reproduction steps:
-
Make this change in the sample app to make it easier to reproduce:
In TabBarController.swift, line 17, change selectedViewController = viewControllers![1] to selectedViewController = viewControllers![0]
-
Run the app on a real device
-
Slowly swipe from right to left so that the screen tracks your finger.
-
From the middle screen, very quickly swipe from right to left. You need to be quick enough so that the tab changes without tracking your finger. It seems to happen most often when velocity.x is over 1500.
-
If the bug does not occur, you must kill the app and restart as the issue will not occur once each screen has been displayed.
I have not been able to fix this myself as of yet but I have noticed that UIView.animate has been called and the completion handler is never fired when the issue occurs.
IssueHunt Summary
Backers (Total: $150.00)
Tips
On iOS 12.0.1, iPhone X with SwipeableTabBarController 1.4.0. Initially, produced in my app and then reproduced on the sample app.
Issue: Swipe very quick (velocity.x > 1500, even up to 4000) causes the app to sometime freeze. The tabs may still work (they select but nothing else changes).
Reproduction steps:
Make this change in the sample app to make it easier to reproduce:
In TabBarController.swift, line 17, change selectedViewController = viewControllers![1] to selectedViewController = viewControllers![0]
Run the app on a real device
Slowly swipe from right to left so that the screen tracks your finger.
From the middle screen, very quickly swipe from right to left. You need to be quick enough so that the tab changes without tracking your finger. It seems to happen most often when velocity.x is over 1500.
If the bug does not occur, you must kill the app and restart as the issue will not occur once each screen has been displayed.
I have not been able to fix this myself as of yet but I have noticed that UIView.animate has been called and the completion handler is never fired when the issue occurs.
IssueHunt Summary
Backers (Total: $150.00)
Become a backer now!
Or submit a pull request to get the deposits!
Tips