我正在學習如何使用情節提要處理視圖控制器層次結構。我有2個ViewController:cwViewController類型的根(我知道下面是'self')和第二個類型的WorkspaceViewController。我正在「嘗試在演示進行中呈現!」作爲這個代碼的結果。簡單視圖控制器開關原因:嘗試在演示文稿正在進行時呈現
- (IBAction)nextView {
WorkspaceViewController *workspace = [[WorkspaceViewController alloc] initWithNibName:nil bundle:nil];
[self presentViewController:workspace animated:YES completion:NULL]; }
答案How to present view controller properly?是可以適用這一點,但因爲我不是來回切換的VC之間,我只是提出一個,然後貶顯示無法很好地適應這種情況最接近的答案原本的。
於是,我試圖駁回呈現前一秒當前,由於一些答案建議,像這樣:
[self dismissViewControllerAnimated:NO completion:nil];
[self presentViewController:workspace animated:YES completion:NULL];
但是,這只是讓我一個額外的警告:嘗試從視圖控制器解僱而呈現或解僱正在進行中!
做一些其他的研究,我看到了類似的問題,通過加入一個塊
[self dismissViewControllerAnimated:YES...]
解決,但因爲之前我甚至到一個地步,我認爲這種解僱方式出現我的警告,不幫助這裏。關於如何處理視圖的順序和層次結構的進一步知識將是一個很大的幫助。非常感謝。
首先,如果你使用的是故事板,你應該在alloc初始化WorkspaceViewController。這不是從故事板實例化視圖控制器的方式。故事板上是否有任何插曲? – rdelmar 2013-04-28 05:37:00
發生此問題是因爲您快速點擊nextView多個按鈕嗎? – user523234 2013-04-28 09:22:32
rdelmar,不,我還沒有使用過segues。隨意指出我在正確的方向。 user523234這發生在第一次調用下一個視圖時(它是從通知觀察者調用的)。謝謝大家。 – roro 2013-04-28 21:43:21