2011-06-11 130 views
1

我有一個UITableViewController。當你選擇一個單元格時,它會調用UIViewController的init,它編程創建一堆視圖並將它們添加到屏幕上。這裏的一切都很好。編程重新加載UIViewController的「重新啓動」按鈕

當用戶與應用程序交互時,視圖被移動或刪除。我想有一個按鈕,用戶可以「重新開始」,並且UIViewController將初始化並在屏幕上像新的一樣繪製自己。基本上我想要的是相同的行爲,就好像用戶返回到UITableViewController並再次單擊相同的項目。

我可以創建按鈕並將其連接起來。我需要知道的是如何釋放和重新初始化UIViewController。

我該怎麼做?

回答

2

創建您的UIViewsUIMyViewController控制器。 並使用下面的代碼將視圖控制器推入導航堆棧。

-(void) buttonClcked:(id) sender 
{ 
    //Create for pushing another view controller in navigation stack. 
    UIMyViewController *myViewController = [[UIMyViewController alloc] init]; 
    //to push view controller in navigation stack. 
    [self.navigationController pushViewController:myViewController animated:YES]; 

    // you could release it because now it's retained by your UINavigationController 

    [myViewController release]; 
    myViewController = nil; 
} 
+0

你打它關閉和你的答案讓我到正確的,這是在這裏:[流行和替換視圖](http://stackoverflow.com/questions/410471/how-can-i-pop-a-view -from-A-的UINavigationController和替換-它與 - 另一個-IN)。 – Trevor 2011-06-11 05:48:23

0

好了,在我看來,你有兩個選擇:

  1. 可以(通過委託調用父)離開的UITableViewController並將其摧毀,然後重新啓動它。 (或)
  2. 你可以把你的看法建築規範到一個單獨的程序(未筆尖或者說的loadView或viewDidLoad中甚至ViewDidAppear,然後釋放self.view的所有子視圖並再次調用視圖生成器。
相關問題