我在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类中,我想将titleLabel(navigationItem)添加到navigationBar,但navigationController是nil!
所以我认为我的FeedVC没有嵌入NavigationController中。但是我没有使用故事板。我怎样才能以编程方式执行此操作并记住最顶端还有一个SideNavigationController ......
感谢您的帮助!
答案 0 :(得分:0)
是的,一切看起来都不错,除了你不需要将rightViewController
设置为零。你可以完全放弃它。
titleLabel的问题是您的FeedVC是MenuViewController的子项。 MenuViewController是Nav的子节点,因此应该在MenuViewController中设置navigationItem。您可以翻转MenuViewController和NavigationController关系,以便Nav是菜单的子项。然后,您可以相应地设置FeedVC navigationItem。
希望有所帮助:)
此外,框架是Material,而不是Material Kit。搜索可以更好地纠正:)