A highly customizable Swift TabBarController component for iOS with animations, badges, and Lottie support.
ESTabBarController is a Swift library for iOS that provides a highly customizable alternative to Apple's native UITabBarController. It solves the problem of rigid tab bar interfaces by enabling developers to easily modify tab bar items with custom animations, badges, Lottie support, and flexible styling while maintaining UIKit compatibility.
iOS developers building apps with custom tab bar interfaces who need advanced UI animations, Lottie integration, or specific styling beyond UITabBarController's limitations.
Developers choose ESTabBarController for its seamless drop-in replacement capability, extensive customization options without code rewrites, and support for Lottie animations—features not available in the native iOS UITabBarController.
:octocat: ESTabBarController is a Swift model for customize UI, badge and adding animation to tabbar items. Support lottie!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Maintains compatibility with most UITabBarController APIs, allowing developers to migrate without rewriting existing code, as highlighted in the README's UIKit attributes feature.
Enables custom selection animations, highlight effects, and notification styles with GIF examples in the README, plus Lottie integration for advanced animations.
Supports custom item sizes, colors, and event handling, including larger central buttons and customizable click callbacks, demonstrated in the 'Customizable item's size' section.
Allows adding Lottie animations to tab bar items through customizable content views, with a specific example GIF shown in the Lottie feature.
The container layout is purely code-based without Autolayout, which the README's TODO admits could be better, potentially leading to maintenance and adaptability issues.
When editing tabs with a 'More' item, problems occur as stated in the TODO section, making it unreliable for apps that need dynamic tab management.
Partial UITabBarItem attributes are not bridged to ESTabBarItem, limiting full compatibility and requiring workarounds for some native features, per the README's TODO.