Swift Version Version License twitter: @dylan36032
A clean simple alternative to the UITabBar. Only shows the title when being tapped on. Gives the app a way cleaner look :)
- iOS 10.0+
- Xcode 8
You can use CocoaPods to install MiniTabBar by adding it to your Podfile:
pod 'MiniTabBar'
Drag and drop MiniTabBar.swift and MiniTabBarItemView.swift into your project.
// First create some tab bar items: // Icons should be a template image with the size 26 x 20 dp var items = [MiniTabBarItem]() items.append(MiniTabBarItem(title: "Tab Name", icon: <UIImage>)) //... // Create a MiniTabBar instance and add it as a regular subview: let tabBar = MiniTabBar(items: items) tabBar.translatesAutoresizingMaskIntoConstraints = false tabBar.delegate = self self.view.addSubview(tabBar) let constraints = [ tabBar.bottomAnchor.constraint(equalTo: view.layoutMarginsGuide.bottomAnchor), tabBar.widthAnchor.constraint(equalTo: view.widthAnchor), tabBar.heightAnchor.constraint(equalToConstant: 44), ] NSLayoutConstraint.activate(constraints) // Delegate protocol: func tabSelected(_ index: Int) { print("Selected tab: ", index) }
Here are some ways to customize the look of the MiniTabBar:
// Change the tint colour of an item (title & icon): tabBar.tintColor = UIColor.red // Change the font of the title label: tabBar.font = UIFont.systemFont(ofSize: 10) // Select an item programmatically: tabBar.selectItem(2, animated: false) // Change the background & key line of the tab bar: tabBar.backgroundColor = UIColor.black tabBar.backgroundBlurEnabled = false tabBar.keyLine.isHidden = true
It's also possible to have a custom view that doesn't act like a tab. For example a (+) button in the middle.
let customButton = UIButton() customButton.backgroundColor = UIColor.orange customButton.frame.size = CGSize(width: 50, height: 50) let customItem = MiniTabBarItem(customView: customButton, offset: UIOffset(horizontal: 0, vertical: -10)) customItem.selectable = false items.append(customItem)