J'ai résolu ceci moi-même en créant mon propre récipient UIViewController pour imiter la barre d'étiquette
//
// UITabBarController.h
//
#import
@interface UITabBarController : UIViewController
{
*viewcontrollers de NSMutableArray ;
currentViewIndex d'international ;
}
selectedIndex du @property international (non atomique) ;
- initWithViewControllers (identification) : (NSArray *) viewControllers ;
@end
//
// UITabBarController.m
//
#import « UITabBarController.h »
@implementation UITabBarController
- initWithViewControllers (identification) : (NSArray *) viewControllers
{
si (individu = [init superbe])
{
viewcontrollers = [[init d'alloc de NSMutableArray]] ;
compte d'international = [compte de viewControllers] ;
pour (international i=0 ; i {
*vc d'UIViewController = [objectAtIndex de viewControllers : i] ;
[addObject de viewcontrollers : vc] ;
}
currentViewIndex = 0 ;
[setSelectedIndex d'individu : 0] ;
}
individu de retour ;
}
- setSelectedIndex (vide) : index (international)
{
// enlevant la vue courante
*viewcontroller d'UIViewController = [objectAtIndex de viewcontrollers : currentViewIndex] ;
[viewcontroller viewWillDisappear : AUCUN] ;
[removeFromSuperview de viewcontroller.view] ;
[viewcontroller viewDidDisappear : AUCUN] ;
// ajoutant la nouvelle vue
currentViewIndex = index ;
viewcontroller = [objectAtIndex de viewcontrollers : currentViewIndex] ;
[viewcontroller viewWillAppear : AUCUN] ;
[addSubview de self.view : viewcontroller.view] ;
[viewcontroller viewDidAppear : AUCUN] ;
}
- selectedIndex (international)
{
currentViewIndex de retour ;
}
- dealloc (vide)
{
[dealloc de viewcontrollers] ;
[dealloc superbe] ;
}
@end