2012-10-11 33 views

回答

5

假設您在XCode4.5中使用故事板,您可以使用新的展開segue。實施

-(IBAction)back:(UIStoryboardSegue*)segue 
在A.

(您可以將函數定義爲空。)然後在C控制器右鍵單擊新的退出圖標,連接新項添加到將啓動平倉控制。

+0

放鬆在四行塞格斯說明。超級有用的答案,謝謝! –

2

是的,你可以調用[B dismissModalViewControllerAnimated:YES];

這將解僱B.當然,如果C從B提交,它也將被解僱。

而且,這裏是相對的問題,它包含完整的答案。 iPhone - dismiss multiple ViewControllers

5

是的,我有一些解決方案, 也許這是一個有點髒 但你可以解決

UIViewController* vc = self; 

while (vc) { 
    UIViewController* temp = vc.presentingViewController; 
    if (!temp.presentedViewController) { 
     [vc dismissViewControllerAnimated:YES completion:^{}]; 
     break; 
    } 
    vc = temp; 
} 

您可以從任何型號的控制器在您的堆棧調用該方法,他們都將是駁回。我們正在尋找第二個,然後解僱它。

+0

優秀!謝謝:P – MaKo

+0

感謝您節省我的時間...:P –

+0

可以說明一下,我無法弄清楚如何得到臨時(提供VC的那個),那麼,只有當臨時沒有提交視圖解僱它,但是何時不會提出意見 –

0

如果是 ViewContronllers,則:

[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];

如果有 ViewControllers,則:

self.presentingViewController.presentingViewController.presentViewController