ios - 向导航 Controller 添加另一个后退按钮

标签 ios swift uiviewcontroller uinavigationcontroller uibarbuttonitem

我有一个导航 Controller ,所以当我单击主视图上的按钮时,它会打开另一个带有“后退”导航项的 View 。

我想做的是在右边的第二个 View 上添加另一个项目,所以这个 View 应该有一个“返回”项目,已经工作,还有一个新的“编辑”项目,它做同样的事情后退按钮,但我可以获得 prepareForSegue 函数来补充运行一些代码。

我怎样才能做到这一点?

这是我尝试过的:

enter image description here

我正在使用两个导航 Controller ,因为如果我的第二个 View 未嵌入导航 Controller ,我将无法添加“编辑”项。 所以这是有效的,我有两个“返回”和“编辑”项目,但我不知道如何设法获得与“编辑”项目上的“返回”项目相同的行为,我尝试了 segues 但它没有按预期工作。 请注意,我在第一个 View 中谈到的按钮没有显示在编辑器中,也没有显示在它的 segue 中,我是通过编程方式完成的。

最佳答案

当点击编辑按钮时,您可以简单地调用popViewController(animated:)

class ViewController: UIViewController
{
    override func viewDidLoad()
    {
        super.viewDidLoad()
        let editItem = UIBarButtonItem(title: "Edit", style: .plain, target: self, action: #selector(editButtonTapped(_:)))
        self.navigationItem.rightBarButtonItem = editItem

    }

    @objc func editButtonTapped(_ sender: UIBarButtonItem)
    {
        self.navigationController?.popViewController(animated: true)
    }
}

Storyboard:

enter image description here

关于ios - 向导航 Controller 添加另一个后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46886628/

相关文章:

php - 尝试快速解析 JSON 但无法正常工作

swift - 错误 : Could not cast value of type 'NSNull' (0x10e404918) to 'NSString' (0x10d5fac60). (lldb)

ios - 如何在 Storyboard中设计 UIScrollView

ios - 如何从自身更改UITextField边框?

android - tensorflow 模型的图像预处理参数

ios - 从 1.1 升级到 1.2 后出现奇怪的快速错误

ios - 重复单元格背景颜色

iphone - 我应该实现什么函数来清理 UINavigationController 的 View

ios - UITableView 单元格在滚动时损坏

ios - 我应该下载 Controller 或数据类中的信息吗?