What is it?Extended UITabBarController with three options: Standard, Column, Table
Easy to implement: Create UITabBarItem and set options for it
Code is documented and commented
MVC-based code (+Router object)
Features to add:
ALOptionTabBarController is an easy-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 for example of tabs with options (1 for column, 2 for table type. Note: These screens load URLs via 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, actually) that takes control 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 another Controller, Router has navigation controllers (UINavigationController and UITabBarController) as it’s properties; that’s how Router present Controllers. If you have any questions, do not hesitate to ask me via comments or via message box.
SWIFT version + test project on swift
Visual elements for better look
Delegate methods (like UITabBarControllerDelegate)
(1.0) 18 February
Please write me an email (via the message box on the right side) if you have any questions or suggestions.