BEKCurveTabbar alternatives and similar libraries
Based on the "Tab Bar" category.
Alternatively, view BEKCurveTabbar alternatives based on common mentions on social networks and blogs.
-
animated-tab-bar
:octocat: RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library made by @Ramotion -
FoldingTabBar.iOS
Folding Tab Bar and Tab Bar Controller -
Segmentio
Animated top/bottom segmented control written in Swift. -
Tabman
™️ A powerful paging view controller with interactive indicator bars -
adaptive-tab-bar
: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 -
ColorMatchTabs
This is a Review posting app that let user find interesting places near them -
TabPageViewController
Paging view controller and scroll tab view -
SwipeableTabBarController
UITabBarController with swipe interaction between its tabs. -
SwipeViewController
SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers -
TabDrawer
Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift -
AZTabBarController
A custom tab bar controller for iOS written in Swift 4.2 -
ExpandedTabBar
ExpandedTabBar is a very creative designed solution for "more" items in UITabBarController. It's greate experience to have more comfortable and intuitive UI. -
WormTabStrip
🐛 WormTabStrip ViewPager for iOS written in Swift, which gives continuous feedback to the user when scrolling -
GGTabBar
Another UITabBar & UITabBarController (iOS Tab Bar) replacement, but uses Auto Layout for arranging it's views hierarchy. -
CardTabBar
This library is for adding animation to iOS tabbar items, which is inherited from UITabBarController. -
ESTabBarController
A custom tab bar controller for iOS. -
KYWheelTabController
KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. -
SSCustomTabMenu
Customisable iOS bottom menu works like Tabbar
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of BEKCurveTabbar or a related project?
README
BEKCurveTabbar
Full Customizable Tabbar with IBInspectables
A fun replacement for UITabbar. The Component uses Bézier paths.
Demo
Example
usage:
You can change the appearance by using Xcode Interface Builder or by using the default config (recommended).
BEKCurveTabbarController
can be setup with your custom ViewModel that conforms to the BEKTabBarViewModelType
protocol.
you can set your 'tabbar' to BEKCurveTabbar inside Interface Builder or initiate it programatically in the easiest way possible like this:
Note: BEKCurveTabbarController
initiates with .initiate()
Default Config Usage:
//Initiate your viewControllers
let firstViewController = UIViewController()
firstViewController.view.backgroundColor = .red
firstViewController.tabBarItem = UITabBarItem(tabBarSystemItem: .search, tag: 0)
let secondViewController = UIViewController()
firstViewController.view.backgroundColor = .white
secondViewController.tabBarItem = UITabBarItem(tabBarSystemItem: .favorites, tag: 1)
let thirdViewController = UIViewController()
thirdViewController.view.backgroundColor = .blue
thirdViewController.tabBarItem = UITabBarItem(tabBarSystemItem: .more, tag: 2)
//get instance of BEKCurveTabbarController
let tabBarViewController = BEKCurveTabbarController.instantiate()
//set viewControllers to the tabbar
tabBarViewController.setViewControllers([firstViewController, secondViewController, thirdViewController], animated: true)
Customized Config Usage:
Create a new struct that conforms to BEKTabBarViewModelType
:
struct MyCustomTabBarViewModel: BEKTabBarViewModelType {
let heightRatio: CGFloat = CGFloat(TabbarHeightRatios.bestSize.rawValue)
let containerColor: UIColor = .white
let hideTitle: Bool = false
let animationDuration: CGFloat = 0.3
let animated: Bool = true
let shadowColor: UIColor = UIColor(red: 0.353, green: 0.784, blue: 1, alpha: 1.0)
let shadowRadius: CGFloat = 16
let containerBorderWidth: CGFloat = 1.0
let containerBorderColor: UIColor = .gray
let selectedTextColor: UIColor = .yellow
let selectedTextFont: UIFont = .systemFont(ofSize: 13)
let normalTextColor: UIColor = .lightGray
let normalTextFont: UIFont = .systemFont(ofSize: 11)
let topCornerRadius: CGFloat = TabbarHeightRatios.bestSize.cornerRadius()
let bottomCornerRadius: CGFloat = 0
let containerInsets: UIEdgeInsets = TabbarHeightRatios.bestSize.containerInsets()
let selectionCircleRadius: CGFloat = TabbarHeightRatios.bestSize.circleRadius()
let selectionCircleBorderWidth: CGFloat = 0.0
let selectionCircleBorderColor: UIColor = .clear
let selectionCircleBackgroundColor: UIColor = UIColor(red: 0.353, green: 0.784, blue: 1, alpha: 1.0)
let textOffset: CGFloat = 0
init() {}
}
Note: TabbarHeightRatios.bestSize
provides you computed values for different iOS environments. (recommended)
Now you just need to pass your viewModel to .setupViewModel(viewModel: BEKTabBarViewModelType)
function.
//1- Initiate your viewControllers
let firstViewController = UIViewController()
firstViewController.view.backgroundColor = .red
firstViewController.tabBarItem = UITabBarItem(tabBarSystemItem: .search, tag: 0)
let secondViewController = UIViewController()
firstViewController.view.backgroundColor = .white
secondViewController.tabBarItem = UITabBarItem(tabBarSystemItem: .favorites, tag: 1)
let thirdViewController = UIViewController()
thirdViewController.view.backgroundColor = .blue
thirdViewController.tabBarItem = UITabBarItem(tabBarSystemItem: .more, tag: 2)
//2- get instance of BEKCurveTabbarController
let tabBarViewController = BEKCurveTabbarController.instantiate()
//3- Config your own TabBar ViewModel
let myViewModel = MyCustomTabBarViewModel()
//4- setup TabBar Controller with you viewModel
tabBarViewController.setupViewModel(viewModel: myViewModel)
//5- set viewControllers to the tabbar
tabBarViewController.setViewControllers([firstViewController, secondViewController, thirdViewController], animated: true)
return tabBarViewController
Installation
pod 'BEKCurveTabbar', :git => 'https://github.com/behrad-kzm/BEKCurveTabbar.git'
Author
Behrad Kazemi, [email protected], bekapps.com Visit Web Site
License
BEKCurveTabbar is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the BEKCurveTabbar README section above
are relevant to that project's source code only.