Eu resolvi este eu mesmo criando meu próprio recipiente UIViewController para imitar a barra da aba
//
// UITabBarController.h
//
#import
@interface UITabBarController: UIViewController
{
*viewcontrollers de NSMutableArray;
currentViewIndex do int;
}
selectedIndex (não atómico) do int do @property;
- initWithViewControllers (identificação): (NSArray *) viewControllers;
@end
//
// UITabBarController.m
//
#import “UITabBarController.h”
@implementation UITabBarController
- initWithViewControllers (identificação): (NSArray *) viewControllers
{
se (auto = [init super])
{
viewcontrollers = [[init do alloc de NSMutableArray]];
contagem do int = [contagem dos viewControllers];
para (int i=0; i {
*vc de UIViewController = [objectAtIndex dos viewControllers: i];
[addObject dos viewcontrollers: vc];
}
currentViewIndex = 0;
[setSelectedIndex do auto: 0];
}
auto do retorno;
}
- setSelectedIndex (vago): índice (int)
{
// que remove a vista atual
*viewcontroller de UIViewController = [objectAtIndex dos viewcontrollers: currentViewIndex];
[viewcontroller viewWillDisappear: NENHUM];
[removeFromSuperview de viewcontroller.view];
[viewcontroller viewDidDisappear: NENHUM];
// que adiciona a vista nova
currentViewIndex = índice;
viewcontroller = [objectAtIndex dos viewcontrollers: currentViewIndex];
[viewcontroller viewWillAppear: NENHUM];
[addSubview de self.view: viewcontroller.view];
[viewcontroller viewDidAppear: NENHUM];
}
- selectedIndex (int)
{
currentViewIndex do retorno;
}
- dealloc (vago)
{
[dealloc dos viewcontrollers];
[dealloc super];
}
@end