Convert Figma logo to code with AI

Cuberto logobubble-icon-tabbar

No description available

1,095
106
1,095
19

Top Related Projects

:octocat: RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library made by @Ramotion

Animated side menu with customizable UI

Folding Tab Bar and Tab Bar Controller

:octocat: AdaptiveController is a 'Progressive Reduction' Swift UI module for adding custom states to Native or Custom iOS UI elements. Swift UI component by @Ramotion

:octocat: PaperOnboarding is a material design UI slider. Swift UI library by @Ramotion

:octocat: ⭕️ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library made by @Ramotion

Quick Overview

Bubble Icon Tabbar is a custom tab bar component for iOS applications, created by Cuberto. It features a unique and visually appealing animation where icons transform into bubbles when selected, providing a playful and engaging user interface element for navigation.

Pros

  • Visually appealing and unique animation that enhances user experience
  • Customizable appearance to match app design
  • Smooth and fluid transitions between tab selections
  • Easy integration into existing iOS projects

Cons

  • Limited to iOS platform, not available for Android or web applications
  • May not fit all app designs or user interface guidelines
  • Potential performance impact on older devices due to animations
  • Requires custom implementation, not a standard UIKit component

Code Examples

  1. Initializing the BubbleTabBar:
let tabBar = BubbleTabBar(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: 65))
view.addSubview(tabBar)
  1. Adding items to the tab bar:
let item1 = BubbleTabBarItem(image: UIImage(named: "home"), title: "Home")
let item2 = BubbleTabBarItem(image: UIImage(named: "search"), title: "Search")
tabBar.items = [item1, item2]
  1. Customizing the appearance:
tabBar.backgroundColor = .white
tabBar.tintColor = .blue
tabBar.unselectedItemTintColor = .gray
  1. Handling tab selection:
tabBar.delegate = self

// In the delegate method
func bubbleTabBar(_ bubbleTabBar: BubbleTabBar, didSelectItemAt index: Int) {
    print("Selected tab at index: \(index)")
}

Getting Started

  1. Add the BubbleTabBar files to your Xcode project.
  2. Import the module in your view controller:
import BubbleTabBar

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let tabBar = BubbleTabBar(frame: CGRect(x: 0, y: view.frame.height - 65, width: view.frame.width, height: 65))
        view.addSubview(tabBar)
        
        let item1 = BubbleTabBarItem(image: UIImage(named: "home"), title: "Home")
        let item2 = BubbleTabBarItem(image: UIImage(named: "search"), title: "Search")
        tabBar.items = [item1, item2]
        
        tabBar.delegate = self
    }
}

extension ViewController: BubbleTabBarDelegate {
    func bubbleTabBar(_ bubbleTabBar: BubbleTabBar, didSelectItemAt index: Int) {
        // Handle tab selection
    }
}

Competitor Comparisons

:octocat: RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library made by @Ramotion

Pros of animated-tab-bar

  • More customizable animation options
  • Supports both Swift and Objective-C
  • Larger community and more frequent updates

Cons of animated-tab-bar

  • Steeper learning curve due to more complex implementation
  • Requires more setup code compared to bubble-icon-tabbar

Code Comparison

animated-tab-bar:

let tabBar = RAMAnimatedTabBarController()
let item1 = RAMAnimatedTabBarItem(title: "Home", image: UIImage(named: "home"), tag: 1)
item1.animation = RAMBounceAnimation()
tabBar.viewControllers = [homeVC]
tabBar.animatedItems = [item1]

bubble-icon-tabbar:

let tabBar = BubbleTabBar()
let item1 = BubbleTabBarItem(image: UIImage(named: "home"), title: "Home")
tabBar.items = [item1]
tabBar.delegate = self

Both libraries offer unique tab bar animations for iOS applications. animated-tab-bar provides more customization options and supports multiple programming languages, but it may require more setup and has a steeper learning curve. bubble-icon-tabbar, on the other hand, offers a simpler implementation with a focus on the bubble animation effect. The choice between the two depends on the specific project requirements and the developer's preference for customization versus ease of use.

Animated side menu with customizable UI

Pros of Side-Menu.iOS

  • Offers a customizable side menu with smooth animations
  • Provides a more traditional navigation pattern familiar to many users
  • Allows for more menu items and complex hierarchies

Cons of Side-Menu.iOS

  • Takes up more screen real estate when open
  • May require additional user interaction to access menu items
  • Less suitable for apps with only a few main sections

Code Comparison

Side-Menu.iOS:

let menuLeftNavigationController = UISideMenuNavigationController(rootViewController: YourViewController)
SideMenuManager.default.leftMenuNavigationController = menuLeftNavigationController
SideMenuManager.default.addPanGestureToPresent(toView: self.navigationController!.navigationBar)
SideMenuManager.default.addScreenEdgePanGesturesToPresent(toView: self.navigationController!.view)

bubble-icon-tabbar:

let tabBar = BubbleTabBar()
tabBar.dataSource = self
tabBar.delegate = self
view.addSubview(tabBar)

The Side-Menu.iOS code focuses on setting up a side menu with navigation controllers and gesture recognizers, while bubble-icon-tabbar implements a custom tab bar with a data source and delegate pattern. Side-Menu.iOS requires more setup code but offers more customization options, whereas bubble-icon-tabbar provides a simpler implementation for basic tab-based navigation.

Folding Tab Bar and Tab Bar Controller

Pros of FoldingTabBar.iOS

  • More visually striking and unique animation effect
  • Offers customizable color schemes and icons
  • Provides a compact view option for additional space-saving

Cons of FoldingTabBar.iOS

  • Less frequently updated (last update in 2017)
  • More complex implementation due to its advanced animation features
  • Limited to iOS platform only

Code Comparison

FoldingTabBar.iOS:

let tabBarController = YALFoldingTabBarController()
tabBarController.viewControllers = [firstViewController, secondViewController]
tabBarController.leftBarItems = [firstItem, secondItem]
tabBarController.rightBarItems = [thirdItem, fourthItem]

bubble-icon-tabbar:

let tabBar = BubbleTabBar()
tabBar.dataSource = self
tabBar.delegate = self
view.addSubview(tabBar)

FoldingTabBar.iOS offers a more elaborate setup with separate left and right bar items, while bubble-icon-tabbar provides a simpler implementation with a data source and delegate pattern. The FoldingTabBar.iOS code snippet demonstrates its unique folding animation feature, whereas bubble-icon-tabbar focuses on a clean, bubble-style interface.

Both libraries aim to enhance the standard tab bar experience, but FoldingTabBar.iOS offers more visual flair at the cost of complexity, while bubble-icon-tabbar provides a more straightforward, modern approach with broader platform support and more recent updates.

:octocat: AdaptiveController is a 'Progressive Reduction' Swift UI module for adding custom states to Native or Custom iOS UI elements. Swift UI component by @Ramotion

Pros of adaptive-tab-bar

  • More customizable with adaptive icons and colors based on user interactions
  • Supports both Swift and Objective-C
  • Includes a demo app for easy implementation and testing

Cons of adaptive-tab-bar

  • Less recent updates and potentially outdated for newer iOS versions
  • More complex implementation due to additional features
  • Requires more setup and configuration

Code Comparison

adaptive-tab-bar:

let tabBarItem = RAMAnimatedTabBarItem(title: "Home", image: UIImage(named: "Home"), selectedImage: UIImage(named: "Home_selected"))
tabBarItem.animation = RAMBounceAnimation()

bubble-icon-tabbar:

let tabBar = BubbleTabBar()
tabBar.dataSource = self
tabBar.delegate = self

The adaptive-tab-bar code shows more detailed configuration for individual tab bar items, including animations. The bubble-icon-tabbar code is simpler, focusing on setting up the tab bar itself with data source and delegate.

adaptive-tab-bar offers more built-in customization options, while bubble-icon-tabbar provides a cleaner, more modern interface with a unique bubble animation effect. bubble-icon-tabbar is more recently updated and likely better suited for current iOS development, but may offer fewer out-of-the-box customization options compared to adaptive-tab-bar.

:octocat: PaperOnboarding is a material design UI slider. Swift UI library by @Ramotion

Pros of paper-onboarding

  • Offers a more comprehensive onboarding experience with multiple screens and transitions
  • Provides customizable animations and visual effects for a polished user experience
  • Supports both Swift and Objective-C, making it versatile for iOS developers

Cons of paper-onboarding

  • More complex implementation compared to bubble-icon-tabbar's simpler tab bar approach
  • Requires more setup and configuration to achieve desired onboarding flow
  • May be overkill for apps that only need a basic navigation system

Code Comparison

paper-onboarding:

let onboarding = PaperOnboarding()
onboarding.dataSource = self
onboarding.delegate = self
view.addSubview(onboarding)

bubble-icon-tabbar:

let tabBar = BubbleTabBar()
tabBar.delegate = self
tabBar.dataSource = self
view.addSubview(tabBar)

Both libraries use similar patterns for setup, but paper-onboarding is focused on creating an onboarding experience, while bubble-icon-tabbar is designed for navigation. The implementation complexity reflects their different purposes, with paper-onboarding potentially requiring more configuration to achieve the desired onboarding flow.

:octocat: ⭕️ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library made by @Ramotion

Pros of circle-menu

  • Offers a unique circular menu design, providing a visually appealing and interactive user experience
  • Supports customizable animations and transitions for menu items
  • Includes built-in support for various icon libraries and custom icons

Cons of circle-menu

  • May require more screen space compared to the compact bubble-icon-tabbar
  • Could be less intuitive for users accustomed to traditional tab bar layouts
  • Potentially more complex to implement and customize for specific use cases

Code Comparison

bubble-icon-tabbar:

let tabBarController = BubbleTabBarController()
tabBarController.viewControllers = [firstVC, secondVC, thirdVC]
tabBarController.tabBar.tintColor = .systemBlue

circle-menu:

let menuButton = CircleMenu(
    frame: CGRect(x: 200, y: 200, width: 50, height: 50),
    normalIcon:"icon_menu",
    selectedIcon:"icon_close",
    buttonsCount: 4,
    duration: 4,
    distance: 120)
menuButton.delegate = self
view.addSubview(menuButton)

Both libraries offer unique approaches to navigation and menu design in iOS applications. bubble-icon-tabbar provides a more traditional tab bar experience with added visual flair, while circle-menu introduces a novel circular menu concept. The choice between the two depends on the specific design requirements and user experience goals of the application.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

BubbleTabBar

GitHub license Carthage compatible Swift 4.0

Animation

Requirements

  • iOS 9.3+
  • xCode 10

Example

To run the example project, clone the repo, and run ExampleApp scheme from BubbleTabBar.xcodeproj

Installation

Carthage

Make the following entry in your Cartfile:

github "Cuberto/bubble-icon-tabbar"

Then run carthage update.

If this is your first time using Carthage in the project, you'll need to go through some additional steps as explained over at Carthage.

Manual

Add content of folder BubbleTabBar/Classes to your project

Usage

With Storyboard

  1. Create a new UITabBarController in your storyboard or nib.

  2. Set the class of the UITabBarController to BubbleTabBarController in your Storyboard or nib.

  3. Add a custom image icon and title for UITabBarItem of each child ViewContrroller

  4. If you need cutom color for each tab set CBTabBarItem class to tab bar items and use tintColor property

Without Storyboard

  1. Import BubbleTabBar
  2. Instantiate BubbleTabBarController
  3. Add some child conrollers and don't forget to set them tabBar items with title and image
  4. If you need cutom color for each tab use CBTabBarItem instead of UITabBarItem set tintColor property

Android

Similar library BubbleTabBar by Cuberto

Author

Cuberto Design, info@cuberto.com

License

BubbleTabBar is available under the MIT license. See the LICENSE file for more info.