SOTabBar

Light way to add Fancy bottom bar.

SOTabBar

? Requirements

SOTabBar requires iOS 9.3 or above, and is compatibile with Swift 4/5.

? Installation

CocoaPods

SOTabBar is available through CocoaPods:

pod 'SOTabBar'

Carthage

SOTabBar is also available through Carthage:

github "Ahmadalsofi/SOTabBar"

? Usage

The Basics

  1. Set up your view controller with the an array of view controllers that you want to appear.
  2. Make your main View Controller subclass from SOTabBarViewController.
  3. return the array of your ViewControllers:
import UIKit
import SOTabBar
class MainViewController: SOTabBarViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        let firstVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "First_ID")
        let secondVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Second_ID")
       
        firstVC.tabBarItem = UITabBarItem(title: "Home", image: UIImage(named: "firstImage"), selectedImage: UIImage(named: "firstSelectedImage"))
        secondVC.tabBarItem = UITabBarItem(title: "Chat", image: UIImage(named: "secondImage"), selectedImage: UIImage(named: "secondSelectedImage"))
	
        viewControllers = [firstVC, secondVC]
    }
}
  1. you can trigger your tab bar action by override the following function in your MainViewController
 override func soTabBar(_ tabBar: SOTabBarView, didSelectTabAt index: Int) {
      print("did Tapped On \(index)")
  }

? Customization

You should set your customization before return the array of the viewcontrollers

class MainViewController: SOTabBarViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // write here your customization before return the array

	SOTabBarSetting.Properties of  Customized = value

        let firstVC = FirstVC()
        viewControllers = [firstVC]
    }
}

tabBarHeight

    SOTabBarSetting.tabBarHeight = 100.0

tabBarHeight

tabBarTintColor

    SOTabBarSetting.tabBarTintColor = UIColor.red

tabBarTintColor

tabBarBackground

    SOTabBarSetting.tabBarBackground = UIColor.purple

tabBarBackground

tabBarCircleSize

    SOTabBarSetting.tabBarCircleSize = CGSize(width: 50.0, height: 50.0)
  	 // or 
    SOTabBarSetting.tabBarCircleSize = CGSize(width: 80.0, height: 80.0)

tabBarCircleSize_50

tabBarCircleSize_80

tabBarSizeImage

    SOTabBarSetting.tabBarSizeImage = CGSize(width: 40.0, height: 40.0)

tabBarSizeImage_40

tabBarShadowColor

    SOTabBarSetting.tabBarShadowColor = UIColor.red.cgcolor

tabBarShadowColor_red

tabBarSizeSelectedImage

    SOTabBarSetting.tabBarSizeSelectedImage = CGSize(width: 40.0, height: 40.0)

tabBarSizeSelectedImage_40

tabBarAnimationDurationTime

    SOTabBarSetting.tabBarAnimationDurationTime = 2

tabBarAnimationDurationTime_2

GitHub