我有一个导航 Controller ,所以当我单击主视图上的按钮时,它会打开另一个带有“后退”导航项的 View 。
我想做的是在右边的第二个 View 上添加另一个项目,所以这个 View 应该有一个“返回”项目,已经工作,还有一个新的“编辑”项目,它做同样的事情后退按钮,但我可以获得 prepareForSegue 函数来补充运行一些代码。
我怎样才能做到这一点?
这是我尝试过的:
我正在使用两个导航 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:
关于ios - 向导航 Controller 添加另一个后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46886628/