2014-03-04 30 views
0

這是我的應用程序是如何佈局:警告:試圖提出LastViewController上的UINavigationController誰的觀點是不是在窗口層次

Storyboard layout

後,計時器在做我的倒數第二個視圖控制器我運行此代碼:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"iPhone_Storyboard" bundle:nil]; 
LastViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"last"]; 
vc.value = numberValue; 
[self presentViewController:vc animated:YES completion:nil]; 

最後一個視圖控制器呈現,但我收到此錯誤信息:

Warning: Attempt to present LastViewController on UINavigationController whose view is not in the window hierarchy! 

編輯:

我的新佈局:

New storyboard layout

仍然得到同樣的錯誤:(

+0

LastViewController是圖像中的最後一個嗎?它是孤立的嗎?你有沒有爲它定義一個segue? – NeverHopeless

+0

@NeverHopeless是的。我繼續使用我的答案 –

回答

1

視圖控制器的看法出去窗口的視圖層次的,當它不再顯示。這意味着您已經在導航控制器上顯示了另一個視圖控制器,並且它不在視圖層次結構中。當您的計時器滴答時,您嘗試在導航控制器的頂部顯示視圖控制器。

在故事板中,您有兩個導航控制器和一個模態演示文稿segue。很可能你已經在第一個中提交了第二個,然後嘗試將最後一個視圖控制器放在第一個上。

如果您希望將最後一個視圖控制器顯示在最頂層的視圖控制器上,則需要跟蹤顯示哪個視圖控制器。這是一項艱鉅的任務,並且我建議你考慮一個更簡單的視圖控制器演示模型的小設計更改,或者考慮幾個windows模型,其中最後一個視圖控制器完全顯示爲一個新窗口。

+0

中的代碼我嘗試刪除第二個導航控制器,並在第二個和第三個視圖控制器之間推入segue。我仍然得到錯誤。 –

+0

請參閱我的編輯我的新佈局。 –

+0

@AbdullahShafique如果您以模態方式呈現視圖控制器,您將獲得相同的結果。您刪除了導航控制器,但顯示了另一個視圖控制器。視圖控制器是否爲導航控制器無關緊要。 –

相關問題