2010-06-23 105 views
1

嗨...我是iPhone編程的新手......任何人都可以幫助我......請! 我有多個viewControllers ..在第一個ViewController調用HomeViewController我調用方法[self presentModalViewController:aboutViewController animated:YES];在一個IBAction約aboutButton移動到AboutViewController 和AboutViewController我調用方法[self presentModalViewController:ContactUsViewController animated:YES];移動到該視圖控制器和一個更多的方法[self dismissModalViewControllerAnimated:YES];返回到HomeViewController。如何從多個視圖控制器中的最後一個視圖控制器移動到第一個視圖控制器

第三,ContactUSViewController我調用方法[self dismissModalViewControllerAnimated:YES];回到AboutViewController..and我想從這裏直接到HomeViewController(ContactUsViewController)。我用[self presentModalViewController:homeViewController animated :是];但它不工作...

如何做... ...?

感謝ü..

回答

3

按照docodismissModalViewControllerAnimated

如果目前幾個模式的看法 控制器在連續,從而 建設模式的看法 控制器的堆棧,調用此方法的視圖控制器中的一個 低於 解除其直接子視圖 控制器和所有視圖控制器ollers 以上的孩子在堆棧上。當 發生這種情況時,只有最上面的視圖 以動畫形式被解僱; 任何中間視圖控制器 只是從堆棧中刪除。

所以從您的ContactUsViewController你需要調用HomeViewController dismissViewControllerAnimated。您可以通過parentViewController屬性訪問該視圖控制器。所以你在dismissAction爲ContactUsViewController代碼:

- (IBAction)dismissAction:(id)sender 
{ 
    // get your parent (ie AboutViewController) 
    UIViewController * parent = self.parentViewController; 

    // get its parent (ie HomeViewController) 
    [parent.parentViewController dismissModalViewControllerAnimated:YES]; 
} 

有可能是讓你HomeViewController一個更好的辦法,但對於您的視圖控制器的淺棧,這應該是很好(我試過這出來,它的工作)。

+0

@macharlarakesh如果您需要澄清這個答案的具體內容,請在此留言。 – RedBlueThing 2010-06-28 00:31:23

+0

是的,它的Cannonade ... !! 非常感謝你 – rockey 2010-06-29 20:00:30

+0

@macharlarakesh很高興聽到它:)。您可以通過點擊左側投票號碼下方的「接受答案」勾號右方來指出答案是否有幫助。 – RedBlueThing 2010-06-30 00:51:30

相關問題