azfx / SimpleTab

A Simple iOS Tab Bar Controller with animation support.
MIT License
80 stars 13 forks source link
animations interface-builder tab-switching transition uitabbarcontroller

image

CI Status Version License Platform

About

. .
image image

SimpleTab provides an easy alternative to the default UITabBarController with following support :

SimpleTab is developed with following principles :

Note: At the moment, SimpleTab does not work when instantiated programmatically. It must be used along with UITabBarController set in Interface Builder.

Demo

The included example project demonstrates the usage of SimpleTab

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Installation

SimpleTab is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "SimpleTab"

Note: SimpleTab now supports Swift 3.X starting 0.2.0 version.

Getting Started

1.0 Import SimpleTab Framework to your Project

#import SimpleTab

2.0 Using Interface Builder, ensure :

3.0 Get Handle to Tab Bar Controller, preferably in AppDelegate

simpleTBC = self.window!.rootViewController as? SimpleTabBarController

4.0 Set View Transition

Included Animations

  • PopViewTransition
  • CrossFadeTransition
simpleTBC?.viewTransition = PopViewTransition()

5.0 Set Tab Bar Style

Included Styles

  • PopTabBarStyle
  • ElegantTabBarStyle
var style:SimpleTabBarStyle = PopTabBarStyle(tabBar: simpleTBC!.tabBar)

5.1 Optional - Set Tab Title attributes for selected and unselected (normal) states.
Or use Tint Color in the Interface Builder to set the states

style.setTitleTextAttributes([NSFontAttributeName : UIFont.systemFontOfSize(14),  NSForegroundColorAttributeName: UIColor.lightGrayColor()], forState: .Normal)
style.setTitleTextAttributes([NSFontAttributeName : UIFont.systemFontOfSize(14),NSForegroundColorAttributeName: colorWithHexString("4CB6BE")], forState: .Selected)

5.2 Optional - Set Tab Icon colors for selected and unselected (normal) states.
Or use the App tint color to set the states

style.setIconColor(UIColor.lightGrayColor(), forState: UIControlState.Normal)
style.setIconColor(UIColor.blueColor(), forState: UIControlState.Selected)

6.0 And finally, let Tab Bar Controller know of the style in use

simpleTBC?.tabBarStyle = style

Customizations

Refer customizations

Author

azfx, abdul.zalil@gmail.com

License

SimpleTab is available under the MIT license. See the LICENSE file for more info.