2013-08-05 62 views
1

我出現了一個使用presentViewController和視圖之間導航的問題。 presentViewController多次創建相同的視圖?或者只有在調用函數時才重新打開視圖(如果它已經打開)?使用presentViewController在視圖之間導航?

例如,如果你調用下一個函數形式三種不同的觀點:

HomeController *homeController = [[HomeController alloc] initWithNibName:nil bundle:nil]; 
[self presentViewController:homeController animated:YES completion:nil]; 

你有三個homeControllers或只有一個?

恩,謝謝!

回答

0

presentViewController:animated:completion:用於以模態方式呈現視圖控制器。在iPhone上,如果這是全屏顯示,在iPad上取決於modalPresentationStyle。一般來說,你不會出現相同的模式3次。

然而,這聽起來像你問如果3份:

HomeController *homeController = [[HomeController alloc] initWithNibName:nil bundle:nil]; 

將創建的HomeController的三個實例。答案是肯定的。但是,如果需要重用var,則可以重用相同的實例。

+0

哦,謝謝你,這個信息仍然只是找到儘可能接近的視圖,以避免多次同樣的觀點。 – sgb004

+0

您可以關閉一個模式與'dismissViewControllerAnimated:完成:'。 – garrettmurray

+0

如果是正確的,但它使用的修正得到一個警告: \t [self.presentingViewController dismissViewControllerAnimated:NO完成:零] 作爲秀:http://stackoverflow.com/questions/14907518/modal-view-controllers-how-to-display-and-dismiss – sgb004