Como remover programaticamente um item da barra de guias criado no arquivo NIB da classe pa

No aplicativo para iPhone, tenho uma barra de guias comum com três guias que é apresentado a partir de várias visualizações depois de pressionar um botão. A abordagem que segui foi o fluxo de trabalho do aplicativo Tweetie, descrito emRobert Conn post.

Observe que o controlador principal é um controlador de navegação; a barra de guias é colocada no arquivo NIB de um controlador de exibição da pilha de navegação e o efeito da alternância de guias é tratado em um método didSelectItem de delegad

@interface GameTabBarController : UIViewController<UITabBarDelegate> {
  UITabBar *tabBar;
  UITabBarItem *lastGameTabBarItem;
  UITabBarItem *previousGamesTabBarItem;
  UITabBarItem *myBetsTabBarItem;

  NSArray *viewControllers;
  UIViewController *currentViewController;
}

@implementation GameTabBarController
  ...

  - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
    UIViewController *viewController = nil;

    // Get the view controller linked to the tab bar item pressed
    ...

    // Switch to the view
    [self.currentViewController.view removeFromSuperview];
    [self.view addSubview:viewController.view];
    self.currentViewController = viewController;
  }

  ...
@end

Como as visualizações da barra de guias devem ser personalizadas de acordo com o controlador de visualização de onde o aplicativo veio, eu fiz issoGameTabBarController uma classe pai com o arquivo NIB que possui a barra de guias. Então, eu criei várias classes filhos:

@interface FirstGameTabBarController : GameTabBarController {
  ...   
}

@interface SecondGameTabBarController : GameTabBarController {
  ...   
}

...

Meu problema é que, em algumas classes filhas, eu gostaria de remover a terceira guia do arquivo NIB associado à classe pai. Mas como não há UITabBarController envolvido, não posso seguir abordagens típicas que você pode encontrar na Web, ou seja, remover o controlador de exibição do item da barra de guia

Como eu posso fazer isso? É possível remover elementos que foram adicionados anteriormente em um arquivo NIB?

Obrigado!

ATUALIZA A solução foi tão fácil ... Eu tenho apenas que substituir os itens da barra de guias, em vez dos controladores de exibição:

NSMutableArray *items = [NSMutableArray arrayWithArray:self.tabBar.items];
[items removeObjectAtIndex:2];
[self.tabBar setItems:items];

Obrigado a @Praveen S por me indicar a direção certa.

questionAnswers(4)

yourAnswerToTheQuestion