将另一个后退按钮添加到导航控制器

时间:2017-10-23 10:01:25

标签: ios swift uiviewcontroller uinavigationcontroller uibarbuttonitem

我有一个导航控制器,所以当我点击主视图上的一个按钮时,它会打开另一个视图,其中包含"返回"导航项目。

我想要做的是在右边的第二个视图中添加另一个项目,因此这个视图应该有一个" Back"项目,已经工作,以及新的"编辑"与Back按钮做同样事情的项目,但是我可以使用prepareForSegue函数来运行补充代码。

我怎样才能做到这一点?

以下是我的尝试:

enter image description here

我使用了两个导航控制器,因为我无法添加"编辑"如果我的第二个视图没有嵌入导航控制器,则为item。 所以这是有效的,我有我的两个"返回"和"编辑"项目,但我不知道如何设法获得与" Back"相同的行为。我和#34;编辑"项目,我试过segues但它没有按预期工作。 请注意,我在第一个视图中谈到的按钮没有在编辑器中显示,也没有在segue中显示,我是以编程方式完成的。

1 个答案:

答案 0 :(得分:1)

点击popViewController(animated:)时,您可以简单地致电edit button

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)
    }
}

<强>故事板:

enter image description here