【问题标题】:Is this a good way to manage my view controller stack?这是管理我的视图控制器堆栈的好方法吗?
【发布时间】:2012-08-04 17:07:11
【问题描述】:

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

假设我有 vc 1 连接到 vc 2,连接到 vc3,而 vc3 连接到 vc1。

当它回到 vc 1 时,我应该调用吗,

[self.navigationController popToRootViewControllerAnimated:YES]; ?

另外,为了重播我的游戏,我所做的只是有一个重播按钮,该按钮与它自己的 vc 保持一致。有人告诉我这是个坏主意,所以如果我每次点击重播按钮时都打电话给[self.navigationController popViewControllerAnimated:YES];,这样可以吗? ?

我希望它继续到自己的 vc 的原因是因为我想要当你模态地继续时发生的很酷的交叉溶解动画。

如果我做这一切,它会毫无问题地工作吗?

【问题讨论】:

    标签: iphone ios uiviewcontroller segue


    【解决方案1】:

    除了自我->自我转换之外,您所做的一切都是正确的。

    你应该有一个动画。

    例如:

     - (void)reset
    {
        [self resetInternalModelState];
    
        [self animateWithDuration:duration animations:^{
            // Logic to dissolve your view.
        }];
    
        [self reloadModelData];
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-17
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多