Make your names shorter, or don't use a tab bar. You will have five or six view controllers, but only want two will be accessible at any given time? If two thirds of your views will be in the "more" list, why not just display all of them in a list? Then you could reclaim the space at the bottom, and no view would require have extra taps.
If you really want to do this, you should write a replacement for UITabBarController
. I looked through UIKit
, and even tried swizzling -_viewControllersInTabBar
, but the five button limit is assumed in several places in UITabBarController
, so you're better off writing your own.
You may have noticed that some iPad applications, like YouTube, have more than five tab bar items:
How can this be, if UITabBarController is so obsessed with having no more than five view controllers? Maybe Apple added some kind of private method to UITabBarController
in the 3.2 SDK that could help you. Maybe it's called something like -_setMaximumNumberOfItems:
and maybe it sets an NSUInteger
instance variable called _maxItems
. If Apple did add such a private method, you would still need to wait for an iPhone-compatible version of 3.2 to be released, and even then, using private methods is Bad.
Change your tabs names. Not that big of a deal.