【发布时间】:2013-03-31 05:37:47
【问题描述】:
我正在为 iphone 开发一个单词搜索益智游戏,并且我正在尝试为应用程序实现一个重启按钮。重启按钮应该能够初始化一个新的视图控制器,生成一个新的拼图,并显示新的拼图。
到目前为止,在益智游戏视图中,我有一个按钮,单击它会使用模态 segue 打开暂停菜单视图。(暂停菜单有三个按钮,恢复、重新启动、主菜单。)然后我使益智游戏控制器成为暂停菜单的代表,当按下按钮时接收通知。恢复和主菜单按钮有效,但我无法使用重新启动按钮重新加载视图。谜题在一个容器视图中,它有一个集合控制器,用于创建网格并显示字母。
使用我拥有的当前代码,当我单击重新启动按钮时,我只看到一个仅显示导航栏的黑屏。但是,一旦我单击暂停菜单按钮(位于导航栏中),然后单击暂停菜单中的恢复按钮,我就会看到带有新生成的谜题的视图。
下面是pauseMenuController中的代码:
- (IBAction)IBARestart:(id)sender {
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
[self.delegate goToRestart];
}
现在这是我的拼图游戏控制器中的代码:
-(void)goToRestart{
self.view = nil;
[self.view.window setNeedsDisplay];
PuzzleCollectionControllerViewController *puzzleInstance = [self.childViewControllers lastObject];
puzzleInstance.view = nil;
[puzzleInstance.view setNeedsDisplay]; // I tried reloading the cointainer view too, but it still shows black screen
}
有人知道为什么会显示黑屏吗?提前致谢
【问题讨论】:
-
不要将视图控制器的主视图设为 nil,而是尝试将 VC 本身设为 nil。然后用一个新实例重新启动它。显示您的暂停和恢复按钮的 sn-ps 会有所帮助。
标签: iphone ios objective-c