UITabBarController with swipe interaction between its tabs.
Fixing issue #47 now UITabBarControllerDelegate
tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController)
is triggered manually and now responds to interactive transition as well as regular animations.
This release adds support for disabling transitions for both swipe and tap as recommended on #49.
We have made the transitions protocols optional so you can set them to nil and have no transitions by using:
setTapTransitioning(transition: nil)
setSwipeTransitioning(transition: nil)
This release solved issue #44 by keeping the current animation in sync with the swipe animation when the interaction will begin.
This release makes UITabBarControllerDelegate
methods open
so they can be overridden in your SwipeableTabBarController
subclass.
Thanks to @Thiryn for the PR!
The main issues of SwipeableTabBarController
were caused by launching a transition before the previous one ended. This led to black screens, incorrect frames, unbalanced calls messages and overall not the best experience.
This release targets that issue and avoids launching a new transition if a previous one is being executed. This solved all the unexpected behavior and messages 🙌.
Some properties were being initialized inside the setup()
function leading to issues with subclassing.
Making this initializer public gives us the option to initialize a SwipeableTabBarController
subclass manually and to override this init method to add our own configurations.