如何有返回按钮才能返回到第一个 ViewController?
Posted
技术标签:
【中文标题】如何有返回按钮才能返回到第一个 ViewController?【英文标题】:How to have back button in order to go back to First ViewController? 【发布时间】:2017-03-17 06:25:40 【问题描述】:我想在导航控制器中返回按钮,以便回到我以前的viewcontroller
。您可以查看下面的图像以清楚地说明。
请给我一些想法。我花了很多钱却做不到。
【问题讨论】:
你的初始 viewCont 必须嵌入navigationController
然后创建与另一个 vc 的连接,在推送 segue 的情况下你将获得 inbuild 选项以返回,另请查看 ***.com/a/42672029/4003548。
当我这样做时,我将失去我的第二个导航控制器
可以通过navigationviewcontroller使用poptoroot。
【参考方案1】:
这样做:
将导航控制器添加到您的主页
结果
【讨论】:
在我的第二页,它也有导航控制器。如果我这样做,我将失去我的第二个导航控制器。 不,它不会丢失。相反,导航工作得很好。我会上传另一张图片来澄清一下。 好棒,大哥怎么实现? 我已经在图片中展示了它。仔细看第一张图。如果你得到你的答案,请接受这个。谢谢你。如果有任何问题,那么很乐意提供帮助。 :)【参考方案2】:您可以创建自定义后退按钮,点击后您必须输入此代码
@IBAction func customBack(_ sender: Any)
_ = self.navigationController?.popToRootViewController(animated: true)
【讨论】:
【参考方案3】:转到您的故事板并点击导航控制器并选择
'show navigation bar'
它将显示您的导航栏。
但是,如果您想制作自定义按钮,只需从情节提要中获取一个按钮并将此代码添加到其操作中。
_ = navigationController?.popViewControllerAnimated(true)
【讨论】:
【参考方案4】:您需要将 UIbutton 或 UIbarButtonItem 添加到导航栏。然后您需要将按钮绑定到视图控制器。按照代码..
@IBAction func backPressed(_ sender: Any)
self.dismiss(animated: true, completion: nil)
导航栏消失的解决方案。添加此代码..
override func viewDidAppear(_ animated: Bool)
self.navigationController?.setNavigationBarHidden(false, animated: false)
【讨论】:
【参考方案5】:故事板中最快的方式。
按住 CTRL 键。然后点击带有高棉喜剧标题的按钮 并将鼠标拖动到显示的目标 ViewController 关于高棉喜剧的细节。然后释放 CTRL 和鼠标 就是这样。
【讨论】:
【参考方案6】:在 main.storyboard 上添加导航控制器 转到编辑器-> 嵌入-> 导航控制器
这会为您生成返回按钮
【讨论】:
【参考方案7】:我更喜欢你创建一个父类,你将在其中创建返回按钮,这样你就可以重用这段代码
1。创建一个父类
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。您要在其中添加返回按钮的班级
class YourClass: ParentClass /*inheriting from parent class*/
override func viewDidLoad()
super.viewDidLoad()
self.addBackBtnWithImageName(string: "Back")
在你想要添加返回按钮的任何类中,只需从父类继承并在 viewdidload 中添加这一行:
self.addBackBtnWithImageName(string: "Back")
【讨论】:
以上是关于如何有返回按钮才能返回到第一个 ViewController?的主要内容,如果未能解决你的问题,请参考以下文章