2015-10-04 55 views
-1

這裏有兩張截圖,我的故事板:我的導航欄在哪裏?

Storyboard

我的模擬器:

Emulator

我進一步本地化的問題。我有一個登錄屏幕,顯示用戶是否未登錄。導航欄僅在登錄後纔可見:我想這與我從登錄屏幕切換到根視圖控制器的方式有關。這是我的方式:

func switchToMainScreen() { 
    let rootController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("homeView"); 
    self.presentViewController(rootController, animated: true, completion: nil) 
} 

任何人都可以幫助我爲什麼我的模擬器中沒有Navbar + Navbar項目?

+0

沒有代碼很難說。 –

+0

added ViewController.swift – tomislav2012

回答

2

從截圖看起來沒問題。我唯一擔心的是視圖控制器中的導航欄,標題爲「標題」。

能否請您試試這個:

  1. 從故事板中刪除導航控制器。
  2. 刪除視圖控制器中的自定義導航欄。
  3. 在故事板中選擇View Controller,然後在菜單中選擇 「編輯器」,然後選擇「嵌入」=>「導航控制器」。
  4. 最後,在您的視圖控制器」 viewDidLoad:,請嘗試以下操作:

- >

self.navigationItem.title = @"My Title"; 
self.navigationItem.rightBarButtonItem = // Set your right bar button item here 

編輯:後OP問題更新:

因爲你的切入點是不故事板驅動,你有一個初始登錄屏幕,我建議你創建自己的UINavigationController並嵌入你的故事板視圖控制器,然後呈現它。它必須工作!

func switchToMainScreen() { 
    let rootController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("homeView") 
    let navigationController = UINavigationController(rootViewController: rootController) 
    self.presentViewController(navigationController, animated: true, completion: nil) 
} 

PS:然後從故事板中刪除嵌入式導航控制器。

+0

我有編輯我的問題,導航欄出現,當我沒有登錄運行我的應用程序,似乎我從登錄屏幕轉換回導航控制器是錯誤的...也許你可以幫我編輯 – tomislav2012

+0

看看我的更新。它必須爲你工作! @ tomislav2012 – Abhinav

+0

謝謝你switchToMainScreen功能做到了! – tomislav2012

3

我無法對您的問題發表評論以獲取我的聲望,請檢查您的storyBoard上的屬性中的「酒吧可見度」。確保已將其選中,可能未選中。

我不能在我的答案圖像後,請參閱以下鏈接瞭解更多信息:

http://i.stack.imgur.com/1k4WU.png

告訴我結果,檢查另一個可能性。

// UPDATE

我認爲你需要嵌入在NavigationController您的viewController。我的意思是: 從storyBoard刪除導航控制器, 然後從頂部菜單欄選擇您的viewController 選擇「編輯器」 - >「嵌入」 - >「導航控制器」 它會自動創建一個可以包含導航項目的導航項。

+0

'顯示導航欄'被選中 – tomislav2012

+0

我改變了我的問題中的代碼,也許這有助於 – tomislav2012

+0

plz檢查我的版本 – engmahsa