5

Sto provando a mettere una UIToolbar semplice nella parte inferiore di un UINavigationController presentato in modo modale. In questo esempio, dovrebbe contenere due pulsanti "cancel" e "something".UINavigationController modale con UIToolbar - La barra degli strumenti rimane vuota

... 

UINavigationController modalNavigationController = new UINavigationController(someViewController); 
modalNavigationController.NavigationBar.BarStyle = UIBarStyle.Black; 
modalNavigationController.Toolbar.BarStyle = UIBarStyle.Black; 
modalNavigationController.ToolbarHidden = false; 

UIBarButtonItem cancelButton = new UIBarButtonItem("cancel", UIBarButtonItemStyle.Plain, delegate { 
    modalNavigationController.DismissModalViewControllerAnimated(true); 
}); 
UIBarButtonItem flexSpace = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace, null); 
UIBarButtonItem someButton = new UIBarButtonItem("something", UIBarButtonItemStyle.Plain, delegate { 
    Console.WriteLine("here we are!"); 
}); 
modalNavigationController.ToolbarItems = new UIBarButtonItem[] { cancelButton, flexSpace, someButton }; 

parentController.PresentModalViewController(modalNavigationController, true); 

... 

La barra degli strumenti viene visualizzata e ha uno stile nero (come assegnato), tuttavia non contiene alcun oggetto. Ho provato ad assegnare gli elementi prima di impostare nascosto a false, nessun effetto. Ho anche provato a utilizzare Toolbar.Items e Toolbar.Hidden oltre a SetToolbarItems() e SetToolbarHidden(), senza fortuna.

Eventuali suggerimenti su cosa potrebbe essere sbagliato qui? Grazie

EDIT:
maggior parte dei campioni in rete creare la propria UIToolbar e aggiungerlo come una visualizzazione secondaria. Questo non è richiesto con un UINavigationController, giusto? AFAICT, ha un built-in.

risposta

6

Inevitabilmente, in qualche modo mi sono perso che gli elementi della barra degli strumenti devono essere forniti in base alla subview.

Questo funziona:

someViewController.ToolbarItems = new UIBarButtonItem[] { cancelButton, flexSpace, someButton }; 
+2

+1 per aver postato la risposta da soli :) –