在模态视图控制器上呈现整个屏幕视图控制器

时间:2016-02-25 22:33:09

标签: ios swift ipad storyboard segue

我有一个iPad应用程序,它在主视图控制器上显示模态视图控制器。

在模态视图控制器中,有一个图像。

#ifdef

我希望能够点击图片将图像缩放到整个屏幕的大小。

如果我从模态视图控制器中显示缩放视图控制器,那么它将保持与模态视图相同的大小:

┌─────────────────────────────────┐
│                                 │
│      main VC in background      │
│                                 │
│      ┌───────────────────┐      │
│      │  ┌─────────────┐  │      │
│      │  │             │  │      │
│      │  │    Image    │  │      │
│      │  │             │  │      │
│      │  │             │  │      │
│      │  └─────────────┘  │      │
│      │                   │      │
│      │     Modal VC      │      │
│      │                   │      │
│      │                   │      │
└──────┴───────────────────┴──────┘

...如果我尝试从主视图中显示缩放视图控制器,我将收到此错误:

┌─────────────────────────────────┐
│                                 │
│      main VC in background      │
│                                 │
│      ┌───────────────────┐      │
│      │                   │      │
│      │                   │      │
│      │       Image       │      │
│      │                   │      │
│      │                   │      │
│      │                   │      │
│      ├───────────────────┤      │
│      │                   │      │
│      │     Modal VC      │      │
│      │                   │      │
└──────┴───────────────────┴──────┘

那么在模态视图控制器上呈现整个屏幕视图控制器的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

使用OverFullScreen演示样式呈现最顶级的模态vc。基本上呈现来自已经模态呈现的vc的另一个模态。它应该是你的ModalViewNavigationController?

答案 1 :(得分:1)

您可能无法做什么。但你可以解决它。

你真的需要提供模态吗?如果主VC中没有用户可以与之交互的内容,只需非模态地呈现“模态VC”。

但是如果您确实需要阻止用户与主VC的其他视图进行交互,您可以先在其上放置一个覆盖屏幕的透明视图,以防止与其他视图的任何交互。然后在其前面非模态地呈现“模态VC”,然后再将你的全屏图像放在前面。