0

我有一个主菜单,可以通向您玩游戏的视图。从您玩游戏的视图中,您可以单击一个按钮返回主菜单,我为此使用了 unwindSegue。现在有没有办法从主菜单中单击相同的“玩游戏”按钮,替换视图,并保持游戏状态与调用 unwindSegue 之前一样,或者我是否必须将数据重新加载存储在新视图中?

4

2 回答 2

1

是的,您可以这样做,但不能使用 segue,因为它们总是实例化新控制器(展开除外)。因此,您可以在主菜单中为您的游戏视图控制器创建一个属性,并且仅在它不存在时实例化它,然后使用 pushViewController:animated: 推送它。像这样的东西,

-(IBAction)gotToGameView:(id)sender {
    if (! self.game) {
        self.game = [self.storyboard instantiateViewControllerWithIdentifier:@"Game"];
    }
    [self.navigationController pushViewController:game animated:YES];
}
于 2014-02-28T20:07:55.387 回答
0

您应该存储重新创建视图所需的数据。然后,当用户再次进入同一屏幕时,您可以使用保存的数据重新创建视图。

于 2014-02-28T20:04:08.807 回答