Question : Adaptant l'UITabBarController - ou créant aux besoins du client un UIViewControlller semblable à lui

Est-ce que je peux ne montre pas créer un UIViewController semblable à UITabBarController mais la barre inférieure d'étiquette ? Je veux remplacer un UITabBarController existant dans une application par cet UIViewController fait sur commande ainsi le code ne doit pas changer beaucoup du tout. J'à l'heure actuelle cache l'UITabBarController en employant le

- (vide) hideTabBar : (UITabBarController *) viewController {
si ([compte de viewController.view.subviews] < retour de 2)
;
   
    UIView *contentView;
du
si ([[objectAtIndex de viewController.view.subviews : ] isKindOfClass 0 : [Classe d'UITabBar]]) contentView du
= [objectAtIndex de viewController.view.subviews : 1] ; contentView de l'else
du
= [objectAtIndex de viewController.view.subviews : 0] ;
du
contentView.frame = viewController.view.bounds ;            
viewController.tabBar.hidd/>en = OUI ; le

But du
} l'issue est quand je vais à un contrôleur de vue de système tel qu'ABPeoplePickerNavigationController qu'une barre noire apparaît où l'UITabBarController est censé pour être. le

I veulent créer une coutume UIViewController qui agit comme un UITabBarController qui sera le contrôleur de vue de racine et alors il montre tout l'autre UIViewControllers d'une mode d'étiquette à moins qu'il n'ait pas un GUI de barre d'étiquette, je commutera programmatically à l'étiquette correcte moi-même.
class= de

Réponse : Adaptant l'UITabBarController - ou créant aux besoins du client un UIViewControlller semblable à lui

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


Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us