如何替换使用unwindSegue后弹出的确切视图?

时间:2014-02-28 20:02:35

标签: ios view segue stack-unwinding

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

2 个答案:

答案 0 :(得分:1)

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

-(IBAction)gotToGameView:(id)sender {
    if (! self.game) {
        self.game = [self.storyboard instantiateViewControllerWithIdentifier:@"Game"];
    }
    [self.navigationController pushViewController:game animated:YES];
}

答案 1 :(得分:0)

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