我的场景是一个UIView控制器以编程方式显示不同的子视图......就像一个游戏板。现在我处在一个令人难以置信的境地:
游戏结束后我无法找到重新加载应用程序的方法!?我想做的是在IBAction上针对星际新游戏终止场景clic之后。我的疑问是关于ViewDidLoad或致电Main。
答案 0 :(得分:0)
尝试将您的代码从viewDidLoad移动到一个新函数,如 - (void)startGame或 - (void)refreshViews:并在您想要重新加载视图时调用该函数。即使在viewDidLoad中,您也可以使用此功能加载视图。
-(void)viewDidLoad
{
[super viewDidLoad];
[self startGame];
}
请记住,如果您正在创建分配并在此函数之外添加一些子视图,那么它们将保持可见状态,除非您在调用startGame之前将其从superView中删除。
答案 1 :(得分:0)
我用这段代码解决了它:
(IBAction)newGame:(id)sender{
UIView *parent = self.view.superview;
[self.view removeFromSuperview];
self.view = nil; // unloads the view
[parent addSubview:self.view];
}