Here is how to animate Tab bar tab switch with a CrossDissolve slide transition in UITabBarViewController!

While searching for answer on web for how to give CurlUp / CrossDissolve / FlipFromRight / FlipFromLeft / CurlDown / FlipFromTop / FlipFromBottom transition effect for UITabBar Tab Switch.

 
I found out this answer but with bug or black screen when you tap on same tab twice i.e. destination and current tab is same.

 
So I solve this issue with my logic and additional if and else statement.

 
So here is final answer without any bug.

 

Step 01: Add this two classes as Super Class to your UITabBarViewController

 

UITabBarController, UITabBarControllerDelegate

 

Step 02: Now add following code to your viewDidLoad Function in your UITabBarViewController

 

self.delegate = self

 
So your viewDidLoad function will look something like this:

 

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.

self.delegate = self;
}

 

Step 03: Now add following function to your UITabBarViewController file.

 

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
let fromView = selectedViewController?.view
let toView = viewController.view

if fromView !== toView {
    UIView.transition(from: fromView!, to: toView!, duration: 0.5, options: [.transitionCrossDissolve], completion: nil)
} else {
    
}

return true
}

 
Now hopefully if you have done everything right you should see Tab Bar transition on Tab Bar switch.

 
Hope it helps,

 
Thanks & Regards
Mandar Apte

Mandar Apte

This website contains a design articles blog by Mandar Apte. He writes and shares his iOS development, graphic, web, & animation film design experience through articles. Mandar is Mumbai based multi-disciplinary designer with expertise in UI, UX, Logo, Symbol, and Brand Identity design. He is an alumnus of Sir J. J. Institute of Applied Art, Mumbai. He currently runs his studio in the heart of the city of Mumbai.

2 thoughts on “Here is how to animate Tab bar tab switch with a CrossDissolve slide transition in UITabBarViewController!

  1. Thank you for the guide. I’m new to iOS programming and I put the delegate in all my viewcontroller files and they conflicted with each other.

Leave a Reply

Your email address will not be published. Required fields are marked *