使用UIToolbar的模态UINavigationController - 工具栏保持为空

rih*_*iha 5 uitoolbar uinavigationcontroller xamarin.ios modalviewcontroller

我试图在一个模态呈现的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);

...
Run Code Online (Sandbox Code Playgroud)

工具栏显示并具有黑色样式(已分配),但它不包含任何项目.我已经尝试在将hidden设置为false之前分配项目,没有效果.我也试过使用Toolbar.Items和Toolbar.Hidden以及SetToolbarItems()和SetToolbarHidden()代替,没有运气.

关于这里可能出错的任何提示?谢谢

编辑:
网上的大多数样本创建自己的UIToolbar并将其添加为子视图.UINavigationController不需要这样,对吧?AFAICT,它有一个内置的.

rih*_*iha 6

没关系,我不知道错过了必须在每个子视图的基础上提供工具栏项目.

这有效:

someViewController.ToolbarItems = new UIBarButtonItem[] { cancelButton, flexSpace, someButton };
Run Code Online (Sandbox Code Playgroud)