2014-06-25 28 views
2

環顧了很多相關的問題並嘗試了一切之後,我發佈了自己的文章以獲得滿意的回覆。Receiver(<ViewController:>)沒有帶標識符的segue - 從場景中啓動segue

我的應用程序從基礎ViewController開始,然後使用從故事板中創建的按鈕轉換到GameScene ViewController然後呈現遊戲場景的模式segue。當遊戲結束時,我以編程方式創建按鈕以從GameScene導航回基本ViewController。當按下該按鈕時,將下面的代碼試圖原因請看回基的ViewController:

UIViewController *vc = self.view.window.rootViewController; 
[vc performSegueWithIdentifier:@"BackToStartScreenSegue" sender:nil]; 

它所調用已被從GameSceneViewController控制拖動到基部的ViewController和選擇模式作爲SEGUE創建的SEGUE類型。這創建了一個奇怪的數字8模式,其中每個視圖控制器都有一個指向另一個模式的模態。我懷疑這不是最佳的。

我有一種感覺,我應該使用放鬆繼續,但我不確定。我試圖在GameSceneViewController故事板上添加一個按鈕,然後在遊戲結束後啓用它,但我無法控制它是否通過我的場景啓用,但我可能沒有做到這一點。

確切的錯誤消息如下所示:*終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因:「接收器()具有標識符沒有賽格瑞‘BackToStartScreenSegue’」

我還檢查和雙檢查了我是否已經在segue標識符上獲得了拼寫,並從模擬器和測試設備中刪除了該應用程序,並使用此工具重新進行了清理和構建。

回答

1

自模態賽格瑞你有沒有嘗試過用

[self dismissViewControllerAnimated:YES completion:nil]; 
+0

我應該到位MyScene上面的代碼中使用此代碼?這樣做給出了「MyScene沒有可見的@interface」聲明選擇器'dismissViewControllerAnimated:completion:'「錯誤。感謝您的幫助 –

+0

是的。按下關閉按鈕後,應該運行此代碼。如果使用模態segue得到當前視圖,則此代碼應關閉當前視圖並將您返回到調用此視圖的視圖。 – adrian1kat

+0

你知道如何從一個場景做到這一點嗎?我在此處插入此代碼時收到錯誤消息。我嘗試添加一個按鈕並將一個IBOutlet連接到viewcontroller中的一個屬性,然後嘗試在遊戲結束時啓用按鈕,但它不起作用。任何其他想法如何做到這一點? –

相關問題