【问题标题】:Replace backButtonBarItem with leftBarButtonItem将 backButtonBarItem 替换为 leftBarButtonItem
【发布时间】:2013-05-10 07:50:22
【问题描述】:

我认为这是一项非常简单的任务,但我就是做不到。我在故事板上有一个视图控制器,它不是很复杂。这是我想做的:

我希望我的视图控制器的导航栏基本上有 3 个按钮,但一次只显示两个。一个按钮是一个简单的 uibarbuttonitem,它始终位于右侧。另一个是总是在左侧的后退按钮项。最后,我希望保存按钮也位于左侧。我希望此保存按钮仅在编辑 uitextview 时出现在后退按钮的位置,然后在编辑完文本视图或单击保存按钮时再次出现后退按钮以代替保存按钮。

有谁知道这样做的简单方法?我是通过情节提要完成,还是应该完全以编程方式完成?

【问题讨论】:

    标签: ios uibarbuttonitem uinavigationitem


    【解决方案1】:

    我不了解情节提要,但在代码中这是微不足道的。要在左侧显示“保存”按钮,请创建该按钮并调用:

    self.navigationItem.leftBarButtonItem = saveButton;
    

    当您希望删除“保存”按钮并再次显示返回按钮时,您只需执行以下操作:

    self.navigationItem.leftBarButtonItem = nil;
    

    此代码进入您的视图控制器(自身),并假定视图控制器已添加到导航控制器。

    【讨论】:

    • 您也可以尝试让所有 3 个都存在,但以编程方式在您不希望用户在任何给定时间看到/能够选择的按钮上设置 hidden 属性。
    • @nickv2002 没有必要。当视图控制器被推入导航堆栈时,后退按钮会自动创建。设置leftBarButtonItem 自动隐藏后退按钮,清除leftBarButtonItem 自动重新显示后退按钮。
    • 是的,适用于导航堆栈,但不适用于其他上下文。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2015-01-14
    • 2020-12-30
    • 1970-01-01
    • 2011-04-29
    • 2014-03-06
    相关资源
    最近更新 更多