Iphone 使用MonoTouch向导航栏添加自定义后退按钮

Iphone 使用MonoTouch向导航栏添加自定义后退按钮,iphone,ios,uinavigationcontroller,xamarin.ios,uinavigationbar,Iphone,Ios,Uinavigationcontroller,Xamarin.ios,Uinavigationbar,我只是想确认一下,因为我正试图独自学习monoTouch 我有一个使用NavigationController.PushViewToController()导航到的视图。在目的地视图中,我有一个导航栏。我可以在工具栏上添加一个按钮,并使用代码推到另一个视图(我碰巧知道Back在哪里),很好 是否有现有的“后退按钮”控件?还是一种将现有的后退按钮改为“返回”的编码方式 在Interface Builder中,我可以看到navigationItem上有一个名为“Back”的属性。当我向其中添加文本时

我只是想确认一下,因为我正试图独自学习monoTouch

我有一个使用NavigationController.PushViewToController()导航到的视图。在目的地视图中,我有一个导航栏。我可以在工具栏上添加一个按钮,并使用代码推到另一个视图(我碰巧知道Back在哪里),很好

是否有现有的“后退按钮”控件?还是一种将现有的后退按钮改为“返回”的编码方式

在Interface Builder中,我可以看到navigationItem上有一个名为“Back”的属性。当我向其中添加文本时,我可以看到导航栏中添加了一个新的BarButtonItem。但是,当我在模拟器中导航到视图时,我从未看到此按钮。如果我尝试手动将项目拖到视图上,“后退”文本将被清除,按钮将被视为自定义按钮

我是否总是必须手动编码后退按钮?

无法自定义默认后退按钮(取上一个控制器名称的按钮)。但是你可以把它隐藏起来,然后用一个新的按钮替换它

如果您有一个控制器,您可以在viewDidLoad方法上执行此操作。重写此方法可以确保已设置所有元素

// allows you to hide the back button
NavigationItem.SetHidesBackButton(true,true);

// allows you to create a new customized button
NavigationItem.LeftBarButtonItem = new UIBarButtonItem(...);
uiBarButtonim接受一个可以用来控制导航的处理程序

在处理程序中,可以执行以下操作:

NavigationController. PopViewControllerAnimated(true);

我的问题是默认按钮没有出现。当您只将一个控制器按到navigationstack上时,后退按钮不会出现。当您将另一个控制器设置在上一个控制器的上方时,默认后退按钮会出现。查看此链接了解更多信息:@Flex_Addicted-关键信息,似乎没有任何地方记录,非常感谢。