NavigationController nil с материалом

У меня есть это в 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, и я могу получить доступ к LeftVC с помощью SideNavigationController. (Кстати, это хороший способ сделать это?)

Затем в моем классе FeedVC я хочу добавить titleLabel (navigationItem) к панели навигации, но navigationController равен нулю!

Поэтому я думаю, что мой FeedVC не встроен в NavigationController. Но я не использую раскадровку для этого. Как я могу сделать это программно и учесть, что в самом верху также есть SideNavigationController...

Спасибо за помощь!


person Ugo    schedule 26.04.2016    source источник


Ответы (1)


Да, все выглядит хорошо, за исключением того, что вам не нужно устанавливать rightViewController на ноль. Вы можете оставить его полностью.

Проблема с titleLabel заключается в том, что ваш FeedVC является дочерним элементом MenuViewController. MenuViewController является дочерним элементом Nav, поэтому по этой причине navigationItem должен быть установлен в MenuViewController. Вы можете перевернуть отношения MenuViewController и NavigationController, чтобы Nav был дочерним элементом Menu. Тогда вы сможете соответствующим образом установить FeedVC navigationItem.

Надеюсь, это поможет :)

Кроме того, фреймворк — это Material, а не Material Kit. Поиском лучше это исправить :)

person CosmicMind    schedule 26.04.2016