[英]How can I perform a present modally segue on a view controller that is presented modally?
這聽起來有點奇怪。
我有一個視圖控制器,我們稱它為VC1
,它以表單的形式呈現。
當用戶點擊VC1
的按鈕時,選擇器將顯示為操作表。 當用戶選擇特定項目並在操作表上點擊“完成”時,我想模態呈現另一個VC( VC2
)。
讓我向您展示操作表:
因此,我添加了一個“以模態形式呈現”的連接,用於連接VC1
和UINavigationController
。 此UINavigationController
具有VC2
作為其根視圖控制器。 segue有一個“表格”的演示文稿和一個“水平翻轉”的演示文稿。
當我測試我的應用程序時,此警告出現在控制台中,並且根本不顯示任何視圖控制器:
警告:嘗試呈現當前已呈現的內容(空)
我當時想“這到底在說什么? VC1
如何呈現空值?” 奇怪的是,它使用null
(這是C#和Java的術語)而不是nil
(這是Swift所使用的)。
我嘗試了不同的轉換和演示。 但是出現相同的消息。 我還嘗試刪除UINavigationController
並直接顯示VC2
。 這次,錯誤消息更改為:
警告:嘗試呈現當前已呈現的內容(空)
我該如何模態呈現VC2
?
經過一番嘗試,我發現像這樣調用dispatch_after
並執行segue可以解決問題。 我不知道為什么。
dispatch_after(DISPATCH_TIME_NOW, dispatch_get_main_queue()) {
self.performSegueWithIdentifier("someIdentifier", sender: self)
}
也許這是由於某種動作片魔術所致。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.