向导航控制器添加另一个后退按钮
Add another back button to a Navigation Controller
我有一个导航控制器,所以当我单击主视图上的按钮时,它会打开另一个带有 "Back" 导航项的视图。
我想要做的是在右侧的第二个视图中添加另一个项目,因此该视图应该有一个 "Back" 项目,已经工作,还有一个新的 "Edit" 项目它与“后退”按钮的作用相同,但我可以获得 prepareForSegue 函数 运行 补充一些代码。
我怎样才能做到这一点?
这是我尝试过的:
我正在使用两个导航控制器,因为如果我的第二个视图未嵌入导航控制器,我将无法添加 "Edit" 项目。
所以这是有效的,我有两个 "Back" 和 "Edit" 项目,但我不知道如何设法获得与 "Edit" 上的 "Back" 项目相同的行为] 项目,我试过 segues 但它没有按预期工作。
请注意,我在第一个视图中谈到的按钮没有显示在编辑器中,也没有显示在它的 segue 中,我是通过编程方式完成的。
您可以在点击 edit button
时简单地调用 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)
}
}
故事板:
我有一个导航控制器,所以当我单击主视图上的按钮时,它会打开另一个带有 "Back" 导航项的视图。
我想要做的是在右侧的第二个视图中添加另一个项目,因此该视图应该有一个 "Back" 项目,已经工作,还有一个新的 "Edit" 项目它与“后退”按钮的作用相同,但我可以获得 prepareForSegue 函数 运行 补充一些代码。
我怎样才能做到这一点?
这是我尝试过的:
我正在使用两个导航控制器,因为如果我的第二个视图未嵌入导航控制器,我将无法添加 "Edit" 项目。 所以这是有效的,我有两个 "Back" 和 "Edit" 项目,但我不知道如何设法获得与 "Edit" 上的 "Back" 项目相同的行为] 项目,我试过 segues 但它没有按预期工作。 请注意,我在第一个视图中谈到的按钮没有显示在编辑器中,也没有显示在它的 segue 中,我是通过编程方式完成的。
您可以在点击 edit button
时简单地调用 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)
}
}
故事板: