Swift popToViewController 不工作
Swift popToViewController does not working
我是 Swift 和 iOS 开发人员的新手,但我认为我知道如何吃它。
我在尝试使用 popToViewController 时遇到问题。问题是我想在按下按钮时 "clear" UINavigation 堆栈。
所以我在这里这样做:
navigationController?.popToViewController((navigationController?.viewControllers[0])!, animated: false)
我想在堆栈中只有第一个 ViewController。
在我点击按钮之前堆栈包含
([<EmpMan.ViewController: 0x7fd191535ba0>,
<EmpMan.TableViewController: 0x7fd191564be0>,
<EmpMan.NewEmployee: 0x7fd1916c0320>])
当我点击按钮时,堆栈看起来:
([<EmpMan.ViewController: 0x7fd191535ba0>,
<EmpMan.TableViewController: 0x7fd191564be0>,
<EmpMan.NewEmployee: 0x7fd1916c0320>,
<EmpMan.TableViewController: 0x7fd19171dbf0>])
我认为在 popToViewController 之后堆栈应该只包含 ViewController。为什么它不起作用?
如果按钮执行的是转场,则只需执行“显示详细信息转场即可完成。
否则,在 viewController 中创建一个布尔值,并在按下按钮时将按钮设置为 true。从控制器中的每个可能的 segue 路由中创建一个辅助 segue。然后,如果该布尔值设置为 true,请使用 "Show Detail Segue" 作为下一个 segue 而不是 "Show Segue".
显示详细信息会自动清除导航堆栈。还有其他处理方法,但我只是给你一个可以接受的有效答案。阅读更多关于 segues 和自定义 segues 以及导航堆栈的信息以获得透彻的理解。如果您想深入研究 iPhone 应用程序开发,那么值得花时间。
我是 Swift 和 iOS 开发人员的新手,但我认为我知道如何吃它。 我在尝试使用 popToViewController 时遇到问题。问题是我想在按下按钮时 "clear" UINavigation 堆栈。 所以我在这里这样做:
navigationController?.popToViewController((navigationController?.viewControllers[0])!, animated: false)
我想在堆栈中只有第一个 ViewController。 在我点击按钮之前堆栈包含
([<EmpMan.ViewController: 0x7fd191535ba0>,
<EmpMan.TableViewController: 0x7fd191564be0>,
<EmpMan.NewEmployee: 0x7fd1916c0320>])
当我点击按钮时,堆栈看起来:
([<EmpMan.ViewController: 0x7fd191535ba0>,
<EmpMan.TableViewController: 0x7fd191564be0>,
<EmpMan.NewEmployee: 0x7fd1916c0320>,
<EmpMan.TableViewController: 0x7fd19171dbf0>])
我认为在 popToViewController 之后堆栈应该只包含 ViewController。为什么它不起作用?
如果按钮执行的是转场,则只需执行“显示详细信息转场即可完成。
否则,在 viewController 中创建一个布尔值,并在按下按钮时将按钮设置为 true。从控制器中的每个可能的 segue 路由中创建一个辅助 segue。然后,如果该布尔值设置为 true,请使用 "Show Detail Segue" 作为下一个 segue 而不是 "Show Segue".
显示详细信息会自动清除导航堆栈。还有其他处理方法,但我只是给你一个可以接受的有效答案。阅读更多关于 segues 和自定义 segues 以及导航堆栈的信息以获得透彻的理解。如果您想深入研究 iPhone 应用程序开发,那么值得花时间。