【问题标题】:remove view controller from navigation controller从导航控制器中删除视图控制器
【发布时间】:2016-11-08 18:57:22
【问题描述】:

我在导航控制器中有 5 个视图控制器,我想删除第五页上的第三页和第四页。下面代码的问题是,如果我删除索引 3 和索引 4 并且我在第五页上。我没有顶部的后退按钮了。我应该再次将返回按钮返回到第 2 页。但是没有。解决办法是什么?感谢您提供的所有帮助。感谢。这个错误真的让我发疯了

navigationController!.viewControllers.remove(at: 3) navigationController!.viewControllers.remove(at: 4)

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    我认为更简洁的方法是修改viewControllers 的数组,然后像这样将它们重新设置在导航控制器上..

    if let nav = self.navigationController {
        var stack = nav.viewControllers
        // index starts at 0 so page three index is 2
        stack.removeAtIndex(2)
        stack.removeAtIndex(3)
        nav.setViewControllers(stack, animated: true)
    }
    

    我刚刚在我的一个导航堆栈上对此进行了测试,并且保留了后退按钮,我认为这是由于 setViewControllers 方法正在为您设置堆栈。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多