ALOptionTabBarController (Swift/Obj-C)

$7.00 (as of January 14, 2020, 2:26 pm)


Swift version to be had!

What is it?
ALOptionTabBarController is a simple-to-use custom interface element. At freelance project I have been working on modified UITabBarController for providing more options on selecting any UITabBarItem. This version is extended. ALOptionTabBarController is a subclass of UIViewController that provides opportunity to show options list on tapping the UITabBarItem. There are three option types: Standard, Column and Table.
Standard option acts like usual UItabBarController. It presents specified UIViewController on tap.
Column option draws a column with options (see images) right above the selected UITabBarItem.
Table options shows a UITableView with options.
Project includes test project and a folder with ALOptionTabBarController files. Test project implements ALOTBC with five UITabBarItems: Three as an example of tabs with options (1 for column, 2 for table type. Note: These screens load URLs by way of UIWebView) and two bar items with standard options type (Instructions screen and Contacts screen).

Some notes on Router object
Router is neither Model, nor Controller, nor View. Router is an extra object (subclass of NSObject, in truth) that takes keep watch over of navigation and view controller presentations. It is used in MVVM+R and MVCVM+R(I’ll put a link later) design patterns. Basic description of Router is simple: Controller asks Router to present every other Controller, Router has navigation controllers (UINavigationController and UITabBarController) as it’s properties; that’s how Router present Controllers. You probably have any questions, do not hesitate to ask me by way of comments or by way of message box.


  • Extended UITabBarController with three options: Standard, Column, Table
  • Easy to put into effect: Create UITabBarItem and set options for it
  • Code is documented and commented
  • MVC-based code (+Router object)
  • Swift and Objective-C versions

Features to add:

  • Even simpler code for initializing
  • Visual elements for better look
  • Delegate methods (like UITabBarControllerDelegate)
  • Suggest more!

(1.1.1) 15 February 2016

  • Updated Swift version to make stronger Swift 2.1 syntax

(1.1) 16 March 2015

  • Added Swift version with test project

(1.0) 18 February 2015

  • Released


Please write me an email (by way of the message box on the right side) You probably have any questions or suggestions.

Additional information


, , ,



, ,


Or search faster..

In need of any courses and articles about design, learning, UX, stress management and more? Please visit our own blog and courses linking site.

Radiant Learning Hub is a hub to learn everything, so start learning a new skill today!

Access the best instantly

Divi WordPress Theme

Awesome products