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

时间:2011-07-02 08:55:20

标签: iphone ios uinavigationcontroller xamarin.ios uinavigationbar

只是想确认一下,因为我正在尝试单独学习monoTouch ..

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

是否存在“后退按钮”控件?或者一种代码来改变现有的后退按钮说“回去”?

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

我是否总是需要手动编写后退按钮?

1 个答案:

答案 0 :(得分:10)

无法自定义默认后退按钮(带有前一个控制器名称的后退按钮)。但是你可以隐藏它并用新的按钮替换它。

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

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

// allows you to create a new customized button
NavigationItem.LeftBarButtonItem = new UIBarButtonItem(...);

UIBarButtonItem采用可用于控制导航的处理程序。

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

NavigationController. PopViewControllerAnimated(true);