NavigationController nil Material

NavigationController nil with Material

我在 appDelegate 中有这个:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

            window = UIWindow(frame: UIScreen.mainScreen().bounds)
            let nav = NavigationViewController(rootViewController: MenuViewController(rootViewController: FeedVC()))
            window?.rootViewController = SideNavigationController(rootViewController: nav, leftViewController: LeftVC(), rightViewController: nil)
            window?.makeKeyAndVisible()
}

这很好用。显示我的 FeedVC,我可以使用 SideNavigationController 访问 LeftVC。 (顺便说一句,这是个好方法吗?)

然后在我的 FeedVC class 中,我想将 titleLabel (navigationItem) 添加到 navigationBar,但 navigationController 为 nil!

所以我认为我的 FeedVC 没有嵌入到 NavigationController 中。但我没有为此使用故事板。我如何以编程方式执行此操作并考虑到最顶部还有一个 SideNavigationController...

感谢您的帮助!

是的,一切看起来都不错,除了,您不需要将 rightViewController 设置为 nil。你可以完全忽略它。

titleLabel 的问题在于您的 FeedVC 是 MenuViewController 的子项。 MenuViewController 是 Nav 的子项,因此应在 MenuViewController 中设置 navigationItem。您可以翻转 MenuViewController 和 NavigationController 的关系,以便 Nav 成为 Menu 的子项。然后您就可以相应地设置 FeedVC navigationItem。

希望对您有所帮助:)

此外,框架是 Material,而不是 Material 工具包。搜索更正可能更好 :)