2016-04-26 77 views
1

我有這樣的的appDelegate:NavigationController比零材料

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是零!

所以我認爲我的FeedVC沒有嵌入到NavigationController中。但我沒有使用故事板。我怎樣才能以編程方式執行此操作,並計算出在頂部還有一個SideNavigationController ...

感謝您的幫助!

回答

0

是的,一切看起來都不錯,除非你不需要設置rightViewController爲零。你可以完全放棄它。

titleLabel的問題是您的FeedVC是MenuViewController的子項。 MenuViewController是導航的子項,因此導航項應該在MenuViewController中設置。您可以翻轉MenuViewController和NavigationController關係,以便Nav是Menu的子項。然後,您將能夠相應地設置FeedVC navigationItem。

希望幫助:)

此外,框架材料,不材質包。可能會更好的搜索來糾正:)

+0

好吧,現在正常工作。謝謝 ! – Ugo