0

我的场景是 UIView 控制器以编程方式显示不同的子视图......就像一个游戏板。现在我处于一个令人难以置信的境地:

游戏结束后我找不到重新加载应用程序的方法!?我想做的是在 IBAction 上为明星新游戏终止场景 clic 之后。我的疑问是关于 ViewDidLoad 或调用 Main。

4

2 回答 2

0

尝试将您的代码从 viewDidLoad 移动到新函数中,例如 -(void)startGame 或 -(void)refreshViews: 并在您想要重新加载视图时调用该函数。即使在 viewDidLoad 中,您也可以使用此功能加载您的视图。

-(void)viewDidLoad
{
[super viewDidLoad];

[self startGame];


}

请记住,如果您正在创建分配并在此函数之外添加一些子视图,那么它们将一直可见,除非您在调用 startGame 之前将它们从 superView 中删除。

于 2012-12-20T06:44:19.253 回答
0

我用这段代码解决了它:

(IBAction)newGame:(id)sender{


    UIView *parent = self.view.superview;
    [self.view removeFromSuperview];
    self.view = nil; // unloads the view
    [parent addSubview:self.view];


}
于 2013-01-11T09:10:53.680 回答