2010-09-26 34 views
1

開始一個新的線程...大約同樣的問題。我已經嘗試了所有我從不同的崗位和論壇......沒有對我的工作越來越..使用多個ModalViewController

我想要做什麼是...

[self presentModalViewController:ViewControllerA animated:YES];//Working fine 
//Inside viewControllerA call viewControllerB 
[self presentModalViewController:ViewControllerB animated:YES];//Working fine 
//Dismiss both the Controllers. and present View 

ç

我試過了。

  1. 呈遞ViewControllerB //這直接將在viewControllerB //沒有結果視圖C
  2. 放還viewControllerA前解僱viewControllerA。 // DismissViewController應關閉所有堆棧..但不是爲我工作,所以我嘗試
  3. 在viewControllerB駁回雙方viewContrller //它仍然顯示viewContrllerA

OMG ......這混亂..

回答

0

這裏是我做的..不是一個很好的解決方案,但工程現在.. :)

/// viewDidLoad中 [自我presentModalViewController:ViewControllerA動畫:YES]; //做工精細

//在ViewController裏面A [self dismissModalViewControllerAnimated:NO];

// viewWillAppear中 [自我presentModalViewController:ViewControllerB動畫:YES]; //工作細

//內的ViewController乙 [自dismissModalViewControllerAnimated:NO];

1

你的代碼不清楚(當你使用self時,它們可能指向不同的東西)。我假設你想要做的是(有效)這樣的:

[viewController presentModalViewController:viewControllerA animated:YES]; 
// time passes... 
[viewControllerA presentModalViewController:viewControllerB animated:YES]; 
// time passes 
... do something to dismiss both controllers ... 

你可能有運氣的東西是這樣的:

[viewControllerA dismissModalViewController:NO]; 
[viewController dismissModalViewController:NO]; 

我不知道你所說的「在」是什麼意思或「內部」;不管你在「什麼」級別。但通常情況下,視圖控制器負責其子項。通常,父母將自己設置爲孩子的代表。當孩子「完成」時,它向父母發送消息;父母有責任解僱孩子。 UIKit的預打包視圖控制器(UIImagePickerController/MFMailComposeViewController/MFMessageComposeViewController)都遵循這種模式。

+0

如果我使用viewController而不是self來presentModalViewController ...它不呈現視圖...這是我如何創建viewControllerA ..... ViewControllerA * viewControllerA = [[[ViewControllerA alloc] init] autorelease]; – kthorat 2010-09-26 19:26:31

+0

我使用viewController來引用你使用的任何「根」視圖控制器。 「自我」本身毫無意義。嘆。 – 2010-09-26 22:08:30

+0

我仍然tyring ... – kthorat 2010-09-27 14:12:53