2011-06-11 83 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的所有子视图并再次调用视图生成器。
相关问题