Ho un'applicazione che gira su un UINavigationController. Ora vorrei aggiungere un elemento UIToolbar nella parte inferiore di ogni schermata. La barra degli strumenti in basso dovrebbe essere personalizzabile per il ViewController che viene attualmente visualizzato. La mia prima idea era quella di aggiungere semplicemente la barra degli strumenti alla vista navigationController e taggarla, nel viewController pensavo che avrei quindi potuto recuperare l'elemento UIToolbar. Ho il seguente codice:UIToolbar su ogni pagina di UINavigationController
Nel mio AppDelegate:
// Get instance of Toolbar (navController is an instance of UINavigationController and TOOLBAR_TAG a constant)
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 440, 320, 40)];
toolbar.tag = TOOLBAR_TAG;
[navController.view addSubview:toolbar];
Nel mio viewController ho provato questo:
UIToolbar *toolbar = [self.navigationController.view viewWithTag:TOOLBAR_TAG];
toolbar.barStyle = UIBarStyleBlack;
Eppure questo mi dà un errore dicendo che barra degli strumenti nel mio caso è un " UILayoutContainerView "oggetto, non un oggetto UIToolbar. Quindi questa idea sembra essere un vicolo cieco.
In che modo gli altri hanno risolto questo problema?
Wow, è un servizio che non mi aspettavo, ho anche cercato la documentazione ma non l'ho trovato. Molto bello, grazie! – Robin
prego. =) è nella documentazione di UINavigationController, btw: http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UINavigationController_Class/Reference/Reference.html#//apple_ref/occ/instp/UINavigationController/toolbar –
È possibile sovrascrivere il metodo pushController di UINavigationController per evitare di copiare/incollare e impostare qui gli elementi della barra degli strumenti. –