簡體   English   中英

如何在以模態顯示的視圖控制器上執行當前模態搜索?

[英]How can I perform a present modally segue on a view controller that is presented modally?

這聽起來有點奇怪。

我有一個視圖控制器,我們稱它為VC1 ,它以表單的形式呈現。

當用戶點擊VC1的按鈕時,選擇器將顯示為操作表。 當用戶選擇特定項目並在操作表上點擊“完成”時,我想模態呈現另一個VC( VC2 )。

讓我向您展示操作表:

在此處輸入圖片說明

因此,我添加了一個“以模態形式呈現”的連接,用於連接VC1UINavigationController 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM