当MyView被推送到NavigationController时,我有以下代码
public override void ViewDidLoad ()
{
this.NavigationController.Toolbar.SetItems(new UIBarButtonItem[] {
new UIBarButtonItem("Next",UIBarButtonItemStyle.Plain, ClickNext)
}, true);
this.NavigationItem.Title = "Proposal Plan - Step 1";
}
标题设置正确,代码运行但在视图底部的工具栏中我没有我期待的“下一步”按钮。我放了一个断点,并确认运行该行后的工具栏确实有我的按钮,但仍然没有。
我错过了什么? [编辑@美国东部时间下午2:05] 我正在尝试向底部工具栏添加按钮,对于我的例子,我碰巧在下一次调用它,导致混乱。
答案 0 :(得分:1)
要向导航控制器添加项目,您应始终从执行代码的视图上下文中访问对象。
您应该使用当前视图中的NavigationItem将按钮添加到导航栏:
public override void ViewDidLoad ()
{
this.NavigationItem.Title = "Proposal Plan - Step 1";
this.NavigationItem.RightBarButtonItem = new UIBarButtonItem("Next", UIBarButtonItemStyle.Plain, ClickNext);
}
导航控制器底部的工具栏也是如此。您应该在当前视图中使用ToolBarItems
this.ToolbarItems = new UIBarButtonItem[] {
new UIBarButtonItem("Next",UIBarButtonItemStyle.Plain, ClickNext)
};