我有一个导航控制器,所以当我点击主视图上的一个按钮时,它会打开另一个视图,其中包含"返回"导航项目。
我想要做的是在右边的第二个视图中添加另一个项目,因此这个视图应该有一个" Back"项目,已经工作,以及新的"编辑"与Back按钮做同样事情的项目,但是我可以使用prepareForSegue函数来运行补充代码。
我怎样才能做到这一点?
以下是我的尝试:
我使用了两个导航控制器,因为我无法添加"编辑"如果我的第二个视图没有嵌入导航控制器,则为item。 所以这是有效的,我有我的两个"返回"和"编辑"项目,但我不知道如何设法获得与" Back"相同的行为。我和#34;编辑"项目,我试过segues但它没有按预期工作。 请注意,我在第一个视图中谈到的按钮没有在编辑器中显示,也没有在segue中显示,我是以编程方式完成的。
答案 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)
}
}
<强>故事板:强>