Hinzufügen von UIBarButtonItem zu allen Navigationsansicht-Controllern in einem UITabBarController programmgesteuert

Die Struktur ist wie folgt:

AussichtRegisterleisten-ControllerNavigationssteuerungController anzeigenNavigationssteuerungController anzeigenNavigationssteuerungController anzeigenNavigationssteuerungController anzeigenNavigationssteuerungController anzeigenNavigationssteuerungController anzeigen

Die obigen Controller wurden im Interface Builder initialisiert.

Was ich versuche, ist ein Recht hinzuzufügenUIBarButtonItem an jeden Navigationscontroller, aber ohne Erfolg.

Folgendes habe ich versucht:

<code>- (void)viewDidLoad
{
    [super viewDidLoad];

    self.view.backgroundColor = [UIColor clearColor];
    self.view.opaque = NO;
    self.tabBarController.view.frame = self.view.bounds;

    NSArray *currentViewControllers = self.tabBarController.viewControllers;
    NSMutableArray *updatedViewControllers = [NSMutableArray array];

    for (int i=0; i<currentViewControllers.count; i++) {
        UINavigationController *tempNav = [[UINavigationController alloc]init];
        tempNav = [currentViewControllers objectAtIndex:i];
        UIBarButtonItem *dismissButton = [[UIBarButtonItem alloc] 
                                          initWithTitle:@"Done"                                            
                                          style:UIBarButtonItemStyleBordered 
                                          target:self 
                                          action:@selector(dismissLibraryBrowser)];
        tempNav.navigationItem.rightBarButtonItem = dismissButton;
        [updatedViewControllers addObject:tempNav];
        [dismissButton release];
        [tempNav release];

        NSLog(@"Added controller number %d",i);
    }

    self.tabBarController.viewControllers = [NSArray arrayWithArray:updatedViewControllers];

    [self.view addSubview:tabBarController.view];
}
</code>

Der Code wird fehlerfrei ausgeführt, die Schaltfläche wird jedoch nicht angezeigt. Ich bin sicher, ich habe hier etwas falsch verstanden. Würde mich über eine Anleitung freuen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage