ESTabBarController
  • December 1, 2023

中文介绍

ESTabBarController is a highly customizable TabBarController component, which is inherited from UITabBarController.

Why?

In real-world development, we may encounter the situation of customizing the UITabBar. For instance: change font style, add animation, and use bigger items. However it’s hard to do with UITabBarItem.

With ESTabBarController, You can easily achieve these!
Feature Description
1 Default style You can get a system-like style by initializing the TabBar with ESTabBarController directly.

UITabBarController style:

System native style

ESTabBarController default style:

ES system-like style

2 Default style with “More” item If the items are more than the maximum number of displays, there will be a “More” item.

UITabBarController with “More”:

enter image description here

ESTabBarController with “More”:

enter image description here

3 Mix UITabBarItem and ESTabBarItem You can set any item as you want, including UITabBarItem and ESTabBarItem.

ESTabBar and UITabBar mixed style:

enter image description here

ESTabBar and UITabBar mixed style with “More”:

enter image description here

4 UIKit attributes ESTabBarController is compatible with UITabBarController, UITabBar and UITabBarItem’s most API attributes. You can migrate to ESTabBarController without any modification of the origin code.

Compatible with UITabBarController’s selectedIndex:

enter image description here

5 Any nesting with UINavigationController Developing withUITabBarController, there are two common ways to handle layers:

First :

├── UITabBarController

└──── UINavigationController

└────── UIViewController

└──────── SubviewControllers

Second :

├── UINavigationController

└──── UITabBarController

└────── UIViewController

└──────── SubviewControllers

In the first case, need to set hidesBottomBarWhenPushed = true when pushing subViews. The second is not.

In ESTabBarController, add Container views to UITabBar to be compatible with these two ways。

6 Customizable style With ESTabBarController, you can:

1. Customize selected item’s color and style:

enter image description here

2. Add selecting animation:

enter image description here

3. Customize item’s background color:

enter image description here

4. Add highlight animation:

enter image description here

5. Add animation to prompt users:

enter image description here

6. And much more …

7 Customizable item’s size

Customizable click event

You can easily customize item’s size using ESTabBarController.

When the button’s frame is larger than TabBar, HitTest makes the outer TabBar area click valid.

In addition, ESTabBarController can customize click event, and through a block to callback super-layer to handle.

With big item in the middle of TabBar:

enter image description here

With a special hint style:

enter image description here

Customize click event:

enter image description here

8 Default notification style You can get a system-like notification style by initializing the TabBar with ESTabBarController directly.

UITabBarController notification style:

enter image description here

ESTabBarController system-like notification style:

enter image description here

9 Customizable notification style With ESTabBarController, you can:

1. Customize notification animation:

enter image description here

enter image description here

2. Customize prompt style:

enter image description here

3. And much more …

10 Lottie Through customizing ContentView, you are able to add Lottie’s LAAnimationView to Item(s)

enter image description here

Requirements


  • Xcode 8 or later
  • iOS 8.0 or later
  • ARC
  • Swift 5 or later

Demo


You can download and build ESTabBarControllerExample project, and you will find more examples to use ESTabBarController, and also more examples to customize UITabBar。

Usage


Swift Package Manager


dependencies: [
.package(name: “ESTabBarController”, url: “https://github.com/eggswift/ESTabBarController.git”, from: “2.9.0-spm”)
]

CocoaPods

 

pod “ESTabBarController-swift”

Carthage

github “eggswift/ESTabBarController”

Manually

 

git clone https://github.com/eggswift/ESTabBarController.git
open ESTabBarController

GitHub


View Github

#animation #ios #objectivec #swift #tabbar #tabbarcontroller
YOU MIGHT ALSO LIKE...
CameraBackground

Features Both front and back camera supported. Flash modes: auto, on, off. Countdown timer. Tap to focus. Pinch to zoom. Usage  

DKCamera

Description A light weight & simple & easy camera for iOS by Swift. It uses CoreMotion framework to detect device orientation, so ...

HorizonSDK-iOS

Horizon SDK is a state of the art real-time video recording / photo shooting iOS library. Some of the features ...

LLSimpleCamera

LLSimpleCamera: A simple customizable camera - video recorder control LLSimpleCamera is a library for creating a customized camera - video ...

RSBarcodes_Swift

RSBarcodes allows you to read 1D and 2D barcodes using the metadata scanning capabilities introduced with iOS 7 and generate ...