iOS在当前ViewController中设置Back Button

Posted

技术标签:

【中文标题】iOS在当前ViewController中设置Back Button【英文标题】:iOS set BackButton in the current ViewController 【发布时间】:2014-05-23 11:10:27 【问题描述】:

如何更改当前显示的 ViewController 的后退按钮? 配置 BackButtonItem 会影响下一个 ViewController 的 BackButton,而不是当前显示的。

例如:我有两个 ViewControllers VCA 和 VCB。我从 VCA 导航到 VCB,并希望设置 VCB 上显示的 BackButton 的样式。我想隐藏标题并为正常和突出显示状态设置自定义图标。

public class VCB : ViewControllerBase

    public override void ViewDidLoad()
    
        base.ViewDidLoad();

        var btn = new UIBarButtonItem("", UIBarButtonItemStyle.Plain, null);
        // TODO: set the Icon
        NavigationItem.BackBarButtonItem = btn;
    

我是否必须实现自己的 BackButton 并将其设置为 LeftBarButton,或者我可以使用标准 BackButton 以某种方式实现这一点。

【问题讨论】:

【参考方案1】:

您可以在 ViewDidLoad 方法中尝试此操作:

UIBarButtonItem backButton = new UIBarButtonItem("< Back",UIBarButtonItemStyle.Plain, null);
this.NavigationItem.SetLeftBarButtonItem(backButton, false);

【讨论】:

我知道这行得通。我的问题明确针对标准后退按钮。但是我发现除了SetLeftButtonItem之外没有其他方法可以解决它。【参考方案2】:

如果 viewController 在 View 中已经有一个BarButtonItem,你应该可以使用this.NavigationItem.BackBarButtonItem 并更改它的属性。

【讨论】:

以上是关于iOS在当前ViewController中设置Back Button的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式在 ViewController 中设置 tableView

需要在 viewcontroller 和 navigationcontroller 中设置目标方法两次 - swift - 以编程方式

iOS 9:在故事板/xib 中设置了手势识别器,以添加到多个视图(不起作用)

在 ViewController 中设置了 TableView 的数据源和委托,但没有任何反应

iOS中的十六进制颜色不准确[重复]

在 iOS 7 中设置导航栏图像