这是管理视图控制器堆栈的好方法吗?

时间:2012-08-04 00:45:14

标签: iphone ios uiviewcontroller segue

我的游戏中有很多模态视图控制器。所以我需要一种方法将我的视图控制器从堆栈中弹出,这样我就没有太多的视图控制器了。

所以说我有vc 1,它是vc 2,它是vc3,vc3是vc1。

当它回到vc 1时,我应该打电话,

[self.navigationController popToRootViewControllerAnimated:YES];  ?

另外,为了重播我的游戏,我所做的只是有一个重播按钮,它会自动转换为自己的vc。而且我被告知这是一个坏主意,所以如果每次点击重播按钮我都会打电话[self.navigationController popViewControllerAnimated:YES];

我希望它能够与自己的vc相媲美的原因是因为我希望在你以模态方式进行分割时会发生很酷的交叉溶解动画。

如果我做了这一切,它会没有问题吗?

1 个答案:

答案 0 :(得分:1)

除了自我之外,你正在为一切做正确的事 - >自我转变。

你应该有一个动画。

例如:

 - (void)reset
{
    [self resetInternalModelState];

    [self animateWithDuration:duration animations:^{
        // Logic to dissolve your view.
    }];

    [self reloadModelData];
}

如果您认为您有一个重置状态的方法,并且根据您的内部模型数据重新加载视图的方法,这将完全按照您的意愿执行,而不会滥用从视图控制器转换获得的动画免费赠品。