gpt4 book ai didi

ios - 弹出到上一个 View 的问题(导航 Controller )

转载 作者:搜寻专家 更新时间:2023-11-01 07:22:05 24 4
gpt4 key购买 nike

问题

因此,我发现(如果您看到我之前的问题,您就会熟悉这一点)我需要实现一个导航 Controller 堆栈。因此,我替换了一些 segues 以推送 segues,以便将这些 View 推送到我的导航堆栈上。不幸的是,在下图中看到的第三个 View 中,我试图使用弹出功能返回到上一个 View 。到目前为止,我已经使用推荐的代码来完成此操作,但无济于事。我希望你们能发现我看不到的东西!

代码

下面是第三个 View 上后退按钮的操作函数(不幸的是,屏幕截图中有些东西搞砸了,但请放心,有一个白色箭头后退按钮)。

@IBAction func back(_ sender: AnyObject) {
if let navController = self.navigationController {
navController.popViewController(animated: true)
}

最佳答案

首先,看起来您的 NavigationController 不是您的初始 View Controller 。箭头指向中间的那个,而不是我期望的左边那个。

关于您的后续问题,删除顶部的导航栏很容易。

只需将其添加到您的 UIViewControllers 中:

override func viewWillAppear(animated: Bool) {
self.navigationController?.navigationBar.hidden = true
}

据我所知,您必须为堆栈中的每个 UIViewController 删除它。

还有一点。您的“后退”代码可以简化:

@IBAction func back(sender: AnyObject) {
self.navigationController?.popViewControllerAnimated(true)
}

在 Swift 3 中:

@IBAction func gobackTapped(sender: AnyObject) {
_ = self.navigationController?.popViewController(animated: true)
}

语法很笨,但现在就是这样。我假设在某些时候 popViewController 将被标记为 @discardableResult

关于ios - 弹出到上一个 View 的问题(导航 Controller ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38338540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com