【问题标题】:Keeping navigation controller between storyboards (swift)在故事板之间保持导航控制器(swift)
【发布时间】:2015-06-15 20:48:25
【问题描述】:

我正在创建一个包含多个故事板的应用。现在,我可以从第一个故事板过渡到第二个故事板,但是当我过渡到第二个故事板时,我失去了导航控制器。但是,我仍然需要导航回第一个情节提要并希望使用相同的控制器。有谁知道如何在故事板之间保留我的导航控制器?

以下是我过渡到第二个故事板的方式。 pushViewController 是我尝试添加到导航堆栈,但它不起作用。

 let destination = UIStoryboard(name: "Preferences", bundle: nil)
 let initialViewController = destination.instantiateInitialViewController() as! UIViewController
 self.navigationController?.pushViewController(initialViewController, animated: true)
 self.presentViewController(initialViewController, animated: true, completion: nil)

【问题讨论】:

    标签: swift uinavigationcontroller uistoryboard


    【解决方案1】:

    我认为你只是添加了冗余代码。 删除

    self.presentViewController(initialViewController, animated: true, completion: nil)
    

    此代码将显示不在导航容器中的视图。此代码使

    self.navigationController?.pushViewController
    

    不工作。

    所以只需使用

     let destination = UIStoryboard(name: "Preferences", bundle: nil)
     let initialViewController = destination.instantiateInitialViewController() as! UIViewController
     self.navigationController?.pushViewController(initialViewController, animated: true)
    

    【讨论】:

    • 您对代码重复是正确的。虽然事实证明我的问题是 self.navigationController 返回 nil 因为我没有正确嵌入它。感谢您的回答!
    猜你喜欢
    • 2012-03-10
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 2013-02-03
    • 2015-05-31
    • 1970-01-01
    相关资源
    最近更新 更多