如果我忽略了模態VC並在少於一定的時間內再次顯示它(或另一個),它不會出現。 我錯過了什麼嗎?presentModalViewController不起作用,如果調用太早
3
A
回答
8
是的,你不能那樣做。我假設你所做的是這樣的:
[self dismissModalViewControllerAnimated:YES];
[self presentModalViewController:myNewController animated:YES];
這是行不通的。我不知道爲什麼,但它與我相信的動畫有關。你的選擇是關閉沒有動畫的第一個,或者等待在父視圖的viewDidAppear中顯示新的(或者可能是先前的模式視圖的viewDidDisappear,但不知道這是否可行)。
0
你不能解僱之後另外兩個模式視圖控制器,除了其他的什麼海報建議,可以等待的時間少量駁回其他模式的看法,例如
[self performSelector:@selector(method) withObject:nil afterDelay:.5];
其中,該方法前所謂的只是解僱你的其他模態觀點。 代碼片段在.5秒後執行選擇器,並且可以在動畫計時問題(如所描述的動畫計時問題)時使用,以便分離通話時間以便正確執行通話時間。
+0
這是一個有點危險(不是很多),如果解僱動畫需要比你的延遲時間更長,你的模態vc仍然不會出現。 (時間可能會隨着操作系統更新而改變。)亞歷克斯的方法對這個問題是免疫的。 – 2010-10-14 04:33:01
相關問題
- 1. presentModalViewController不起作用?
- 2. 從AppDelegate調用presentModalViewController不起作用
- 3. iOS PresentModalViewController不起作用
- 4. Template.onRendered()調用太早
- 5. mapViewDidFinishLoadingMap:調用太早
- 6. onActivityResult調用太早
- 7. performSelectorOnMainThread調用太早
- 8. Promise調用得太早
- 9. completionHandler()被調用太早
- 10. 爲什麼presentModalViewController不起作用?
- 11. 如果$(window).load(function(){});是不是太早
- 12. node.js async.eachSeries調用最終回調太早
- 13. 調用presentModalViewController
- 14. Mongodb流調用'結束'事件太早
- 15. NSOperationQueue - 獲得完成調用太早
- 16. zombie.js訪問()回調太早(使用browserify)
- 17. SDL析構函數調用太早
- 18. C++析構函數太早調用
- 19. 碰撞不起作用,如果我拖得太快
- 20. 如果屏幕高度太小,粘滯頁腳不起作用
- 21. 調用presentModalViewController兩次?
- 22. 如果document.ready不起作用
- 23. PHP「如果」不起作用
- 24. 如果CGPointEqualToPoint不起作用
- 25. 如果&&不起作用
- 26. 如果hasClass不起作用
- 27. jquery如果不起作用
- 28. 按鈕不起作用,當我們使用presentModalViewController
- 29. onActivityResult()方法調用太早,無法啓動調用活動?
- 30. presentModalViewController不工作?
這是行不通的原因是因爲當動畫完成時,視圖控制器會刪除它對模態vc的引用。因此它不認爲它有另一個視圖控制器來表示模態了。兩種建議的解決方案都可以使用。 – 2010-10-14 04:31:14
這裏發佈的答案有關這兩種方法的更多細節。 http://stackoverflow.com/questions/3919845/presenting-a-modal-view-controller-immediately-after-dismissing-another/3919870#3919870 – 2010-10-14 04:34:58