簡體   English   中英

調用情節提要場景而不快速創建情節?

[英]Call storyboard scene without creating a segue in swift?

我創建了一個場景,並嘗試將類鏈接到該場景,並使用情節self.performSegueWithIdentifier("SegueID", sender: self)創建了一個segue,並使用self.performSegueWithIdentifier("SegueID", sender: self) ,無論我做了什么(即,干凈的構建),我仍然得到相同的結果錯誤“原因:'Receiver()沒有標識為'SegueID的segue'”

我認為解決此問題的最佳方法是避免這種情況下的串擾。

那么有沒有一種方法可以在不快速使用segue的情況下從代碼中的視圖進行調用以過渡到另一個視圖?

編輯我已經嘗試了所有三種方式,但是都沒有用。 僅在情節提要中的兩個場景之間創建序列並為其指定名稱的最常見方法,在我的情況下為“詳細信息”,但是無法識別序列。

因此,我嘗試了從筆尖加載然后將筆尖推入導航堆棧的另一種方法,但是當編譯並生成程序時,我單擊按鈕以呈現給新的視圖控制器,除了執行println函數外,什么都沒有發生。

嘗試手動使用目標控制器是行不通的。 InstantiateViewControllerWithIdentifier需要一個字符串,並抱怨調用中參數太多

您的代碼無法正常工作,因為您需要在情節提要中設置序列號,並在調用performSegueWithIdentifier時將其作為參數傳遞給特定的ID。 因此,根據您的情況,您需要創建一個ID為"SegueID"的segue,因為這是您要傳遞給該調用的字符串。

如果您不想使用情節提要板執行此操作,則仍然可以直接使用UINavigationController (畢竟,segue在后台使用UINavigationController )。

然后,您只需要手動實例化目標視圖控制器(例如,通過使用

self.storyboard.instantiateViewControllerWithIdentifier(<your vc id from the storyboard>, animated:true) 

或從筆尖加載

init(nibName:bundle:)

然后使用將其推入導航堆棧

self.navigationController.pushViewController(<the formerly instantiaded vc>)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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