5

Я пытаюсь установить простой UIToolbar в нижней части модально представленного UINavigationController. В этом примере он должен содержать две кнопки «отменить» и «что-то».Модальный UINavigationController с UIToolbar - Панель инструментов остается пустой

... 

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); 

... 

Панель инструментов появляется и имеет черный стиль (по назначению), но не содержит никаких элементов. Я попытался назначить элементы перед установкой скрытых в false, без эффекта. Я также попытался использовать Toolbar.Items и Toolbar.Hidden, а также SetToolbarItems() и SetToolbarHidden(), но не повезло.

Какие-либо намеки на то, что может быть неправильно здесь? Благодаря

EDIT:
Большинство образцов в сети создают свои собственные UIToolbar и добавить его в качестве подвид. Это не требуется с UINavigationController, не так ли? AFAICT, он имеет один встроенный.

ответ

6

Nevermind, я как-то пропустил, что элементы панели инструментов должны быть поставлены на основе подзаголовка.

Это работает:

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

+1 для размещения ответ сами :) –

Смежные вопросы