Are you ready to take your SwiftUI app navigation to the next level? Join us on an exciting adventure as we unlock the full potential of your app’s user interface with Ramoshan’s mesmerizing ‘Animated Tab Bars’. Creating a personalized and engaging experience is important in the dynamic world of mobile app development, and the animated tab bar stands out as an epitome of innovation.

Animated Tab Bar
Animated Tab Bar in SwiftUI

Imagine a world where your users move seamlessly through different sections of your app, guided by engaging animations that not only guide but mesmerize. Animated tab bars aren’t just a means of navigation; They are storytellers, who turn every conversation into a memorable and joyful moment.

Why Choose Animated Tab Bar? Well, traditional tab bars are functional, but these take functionality to new heights. With a wide range of animations, users can now explore your app with a simple tap or swipe, adding an extra layer of fun to their experience. In an era where user satisfaction is synonymous with user experience, animated tab bars ensure that your app not only meets but exceeds expectations with just a few lines of code.

Get ready to witness the fusion of technology and art as we embark on this journey into the world of animated tab bars. We will not only guide you through the installation and integration process but also inspire you to think creatively. It is more than just a library; It’s a catalyst for reimagining how your users interact with your app. So, fasten your seat belts as we step into the world of SwiftUI, where animated tab bars transform your app’s navigation into a visual masterpiece, creating an experience your users won’t forget.

Installation Guide:

Follow these simple steps to integrate the Animated Tab Bar into your project:

  1. Manual Integration:

To seamlessly integrate the Animated Tab Bar, add the ‘RAMAnimatedTabBarController’ folder to your project.

  • CocoaPods Installation:

If you prefer using CocoaPods, include the following line in your Podfile:

pod 'RAMAnimatedTabBarController'
  • Carthage Integration:

Carthage users can effortlessly add the library by appending the following line to their Cartfile:

github "Ramotion/animated-tab-bar"

Swift Package Manager users can easily incorporate the Animated Tab Bar by specifying it as a dependency in their Package.swift file.


  1. Create UITabBarController: Begin by adding a new UITabBarController to your storyboard or nib.
  2. Set Class for UITabBarController: In your storyboard or nib, assign the class of the UITabBarController to RAMAnimatedTabBarController.
  3. Configure UITabBarItems: For each UITabBarItem, set the class to RAMAnimatedTabBarItem.
  4. Custom Icons: Enhance the visual appeal by adding a custom image icon for each RAMAnimatedTabBarItem.
  5. Add Animations: To introduce animations for each RAMAnimatedTabBarItem:
    • Drag and drop an NSObject item into your ViewController.
    • Set its class to ANIMATION_CLASS (replace ANIMATION_CLASS with the specific animation class name you desire).
    • Establish a connection by linking the outlet animation in RAMAnimatedTabBarItem to your ANIMATION_CLASS.
  6. Demonstration: Explore a step-by-step demonstration of step 5 in the provided video. This visual guide will help you seamlessly implement and witness the dynamic animations associated with each tab item.

Included Animations

  • RAMBounceAnimation
  • RAMLeftRotationAnimation
  • RAMRightRotationAnimation
  • RAMFlipLeftTransitionItemAnimations
  • RAMFlipRightTransitionItemAnimations
  • RAMFlipTopTransitionItemAnimations
  • RAMFlipBottomTransitionItemAnimations
  • RAMFrameItemAnimation
  • RAMFumeAnimation

Creating Custom Tab bar Animations

  1. Create a new class which inherits from RAMItemAnimation:
class NewAnimation : RAMItemAnimation
  1. Implement the methods in RAMItemAnimationProtocol:
  // method call when Tab Bar Item is selected
  override func playAnimation(icon: UIImageView, textLabel: UILabel) {
    // add animation
  // method call when Tab Bar Item is deselected
  override func deselectAnimation(icon: UIImageView, textLabel: UILabel, defaultTextColor: UIColor, defaultIconColor: UIColor) {
    // add animation
  // method call when TabBarController did load
  override func selectedState(icon: UIImageView, textLabel: UILabel) {
    // set selected state  
  1. Example:
import RAMAnimatedTabBarController

class RAMBounceAnimation : RAMItemAnimation {

    override func playAnimation(_ icon: UIImageView, textLabel: UILabel) {
        textLabel.textColor = textSelectedColor

    override func deselectAnimation(_ icon: UIImageView, textLabel: UILabel, defaultTextColor: UIColor, defaultIconColor: UIColor) {
        textLabel.textColor = defaultTextColor

    override func selectedState(_ icon: UIImageView, textLabel: UILabel) {
        textLabel.textColor = textSelectedColor

    func playBounceAnimation(_ icon : UIImageView) {

        let bounceAnimation = CAKeyframeAnimation(keyPath: "transform.scale")
        bounceAnimation.values = [1.0 ,1.4, 0.9, 1.15, 0.95, 1.02, 1.0]
        bounceAnimation.duration = TimeInterval(duration)
        bounceAnimation.calculationMode = kCAAnimationCubic

        icon.layer.add(bounceAnimation, forKey: "bounceAnimation")

The Animated Tab Bar by Ramotion is not just a library; it’s a design philosophy. Elevate your app’s navigation, captivate your users, and leave a lasting impression. Ready to take the plunge?

SwiftUI Animated Tab Bar

Github – Animated Tab Bar

Related Posts

Leave a Reply

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