2010-08-03 155 views
0

我的視圖控制器被設置爲從Nib文件加載視圖。在viewDidAppear某些時候,我可能會改變self.view和視圖可能會消失,下次viewDidAppear我可以決定加載從筆尖原來的看法,我會怎麼做呢?如何讓UIViewController重新加載視圖?

+0

唉。不要改變self.view;在子視圖中粘貼事物並根據需要隱藏/刪除子視圖。如果您告訴我們更全面的情況,我們可以幫助更多。 – 2010-08-03 18:22:08

+0

如果看起來很難,你可能做錯了。你想在什麼條件下呈現不同的觀點? 如果使用筆尖,然後在適當的時間來切換筆尖是主叫initWithNibNamed時:束:動畫: – falconcreek 2010-08-04 17:10:14

+0

在那裏,你不能加載新視圖控制器和本模式地一個原因是什麼?會提出一個UIAlertView解決這個問題? (注:我以前的評論開始與意譯從Hillegass的可可書一行沒有冒犯之意。) – falconcreek 2010-08-12 16:08:16

回答

0

一種方式做到這一點是在viewDidAppear簡單地重新初始化控制器屬性對象:

[self setMySubViewController:[[[MySubViewController alloc] initWithNibName...] autorelease]]; 

你mySubViewController屬性將釋放視圖控制器的以前的副本並保留新的。

希望這會有所幫助。

+0

嗯..我不明白這是如何工作在我的情況。我有1個控制器,沒有子視圖控制器。我會稱自己initWithNibName,但我想這是不正確的方式。需要重新建立自己的所有網點。 – Pablo 2010-08-03 11:40:47

+0

您不能在容器控制器中引用您的控制器,然後使用委託通知容器控制器重新初始化您的子控制器視圖? – MyCSharpCorner 2010-08-03 12:26:32

+0

沒有小孩控制器。只有1個控制器和2個nib文件。我需要在viewDidLoad中更改視圖。這兩個筆尖的文件所有者是同一個控制器。 – Pablo 2010-08-03 13:43:48