在我的應用程序啓動時,它以編程方式顯示使用segue的LoginViewController。視圖控制器以模態方式呈現,設置爲交叉解散。成功驗證後,我想通過以編程方式觸發unwind segue來關閉登錄視圖。所以我說這我的頭文件:iOS 6 - 以編程方式觸發Unwind Segue什麼都不做
- (IBAction)unwindSegue:(UIStoryboardSegue *)segue;
現在在IB我能夠控制拖動從「文件的所有者」 LoginViewController的退出按鈕,並選擇unwindSegue:
。這會創建一個手動循環,它會正確顯示在文件所有者和退出按鈕的Connections檢查器中。然後,我從IB中的場景中單擊新創建的Unwind segue,然後爲其命名。如果我點擊「去」按鈕來取消放風行爲,它會將我帶到上述聲明中。
到目前爲止好,我再觸發,認證成功後該開卷賽格瑞在我的GCD塊:
....
dispatch_async(dispatch_get_main_queue(),^
{
[self performSegueWithIdentifier:@"UnwindSegueIdentifier" sender:self];
[self.spinner removeFromSuperview];
self.spinner = nil;
});
.....並在運行時沒有任何反應。微調器確實被正確移除,但沒有任何放鬆繼續執行的跡象。
unwindSegue:
執行中的一個斷點從未被擊中。沒有錯誤拋出。沒有任何東西寫入控制檯。標識符是正確的,我三重檢查(否則它會失敗)。
我看了答案here,here和here但我似乎沒有錯過任何東西。
我也注意到什麼雖然是Xcode認爲unwindSegue:
是不鏈接:
我無法從在unwindSegue:
前的小空圈拖動並將其鏈接到的退出按鈕。
任何幫助將不勝感激。
你爲什麼不乾脆讓退出按鈕觸發SEGUE,即線直接按鈕? – Matthias 2013-02-19 13:51:40
感謝您的回覆,但我想我可能沒有在那裏清楚表達自己的意見......我一直在談論的退出按鈕是綠色的退出按鈕,而不是視圖上的實際按鈕 – 2013-02-19 22:03:25
究竟應該觸發您的退休繼續?爲什麼你需要以異步的方式來完成,比如你爲什麼要使用GCD? – Matthias 2013-02-20 07:36:59