我想让导航控制器中的按钮返回到我以前的viewcontroller
。您可以查看下面的图像以清楚地显示。
请给我一些想法。我花了很多钱去做但却做不到。
答案 0 :(得分:4)
答案 1 :(得分:0)
您可以创建自定义后退按钮,点击后您必须输入此代码
@IBAction func customBack(_ sender: Any) {
_ = self.navigationController?.popToRootViewController(animated: true)
}
答案 2 :(得分:0)
转到故事板并点按导航控制器并选择
'show navigation bar'
它会显示您的导航栏。
但是如果你想制作一个自定义按钮,那么只需从故事板中取一个按钮并在其动作中添加此代码。
_ = navigationController?.popViewControllerAnimated(true)
答案 3 :(得分:0)
I prefer you to create a parent class in which you will create back button, this way you can re-use this code
1. create an Parent class
class ParentClass: UIViewController {
func addBackBtnWithImageName(string:String)-> Void
{
let button = UIButton.init(type: .custom)
button.setImage(UIImage.init(named: string), for: UIControlState.normal)
button.addTarget(self, action:#selector(backbtnClick), for: UIControlEvents.touchUpInside)
button.frame = CGRect.init(x: 0, y: 0, width: 30, height: 30)
let barButton = UIBarButtonItem.init(customView: button)
self.navigationItem.leftBarButtonItem = barButton
}
func backbtnClick() {
_ = navigationController?.popViewController(animated: true)
}
}
2. Your class where you want to add back button
class YourClass: ParentClass /*inheriting from parent class*/ {
override func viewDidLoad() {
super.viewDidLoad()
self.addBackBtnWithImageName(string: "Back")
}
}
In any class where you want to add back button, just inherit from parent class and add this line in viewdidload :
self.addBackBtnWithImageName(string: "Back")
答案 4 :(得分:0)
您需要在导航栏中添加UI按钮或UIbarButtonItem。然后,您需要绑定按钮以查看控制器。按照代码..
@IBAction func backPressed(_ sender: Any) {
self.dismiss(animated: true, completion: nil)
}
消失导航栏的解决方案。添加此代码..
override func viewDidAppear(_ animated: Bool) {
self.navigationController?.setNavigationBarHidden(false, animated: false)
}
答案 5 :(得分:0)
故事板中最快的方式。
按CTRL键并按住。然后点击高棉喜剧标题按钮 并将鼠标拖动到显示的目标ViewController 关于高棉喜剧的细节。然后释放CTRL和鼠标 就是这样。
答案 6 :(得分:0)
在main.storyboard上添加导航控制器 转到编辑 - >嵌入 - >导航控制器
这会为你生成按钮