【问题标题】:presentViewController with multiple view controllers issue具有多个视图控制器的 presentViewController 问题
【发布时间】:2013-08-30 11:24:06
【问题描述】:

我有视图控制器 A、B、C、D。当前视图控制器是 A。

我需要从 A 呈现 D。然后当我关闭 D 时,我应该看到 C。当我关闭 C 时,我应该看到 B。

使用导航控制器堆栈很容易实现,但我不知道是否可以使用模态视图控制器堆栈来实现。

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 我现在看到的最好的解决方案是在没有动画 B 的情况下从 A 中呈现,然后在没有动画的情况下从 B 中呈现 C,然后从 C 中呈现 D。所以用户只会看到没有动画的 D,但行为与动画更好
  • 在我看来,这里要考虑的不是你能做到这一点,而是应该你这样做。视图层次结构很重要,因此用户可以了解他们在您的应用程序中的位置。如果用户从视图 A 转到视图 B,他们希望当他们返回时,他们会回到视图 A。除非您的应用明确表明不会出现这种情况,否则我不建议您关闭从可用性的角度来看这条路线。

标签: iphone ios ipad presentmodalviewcontroller uimodaltransitionstyle


【解决方案1】:

是的, 首先将属性设置为所有视图控制器,我的意思是: @property (nonatomic,strong) UIViewController * viewa,*viewb,*viewc,*viewd;

你可以像这样切换视图控制器:

[self presentViewController:viewb Animation:NO completion:nil];

因此,从您要更改视图控制器的任何位置添加此语句。

试试这个。

我在我的应用程序及其工作中做同样的事情。

或者当你想关闭视图时,使用这个:-

[[self presentingViewController]dismissViewControllerAnimated:YES 完成:nil];

【讨论】:

    猜你喜欢
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多