iphone - 使用 MonoTouch 将自定义后退按钮添加到导航栏

标签 iphone ios uinavigationcontroller xamarin.ios uinavigationbar

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

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

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

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

我是否总是需要手动对后退按钮进行编码?

最佳答案

无法自定义默认后退按钮(采用前一个 Controller 名称的按钮)。但您可以隐藏它并用新按钮替换该按钮。

如果您有 Controller ,则可以在 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);

关于iphone - 使用 MonoTouch 将自定义后退按钮添加到导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6556037/

相关文章:

iOS - 弹出两个或多个 Controller 但不弹出顶部

ios - 如何快速使用 MBProgressHUD

ios - 如何通过在其上拖动 UIImageView 来获取 UITableView 的行索引

ios - 如何在运行前创建核心数据文件?

ios - 初学者在iOS中使用assimp

ios - 在 Swift 中使用 SDWebImage 问题

ios - 在没有 segue 的情况下在多个 View Controller 之间共享数据(Swift 3)

iphone - 以编程方式选择后,UITableView 中的 UITabBar MoreViewController 图像消失

iphone - 如何在iOS中设置特定时间的提醒并在该时间后每隔2分钟一次又一次(五次)显示它

iphone - 滚动时基本 UITableView 的内存问题