模态转场导致黑屏

Posted

技术标签:

【中文标题】模态转场导致黑屏【英文标题】:Modal Segue Causing Black Screen 【发布时间】:2015-03-17 20:58:12 【问题描述】:

我有一个模态segue,它引入了一个新的视图控制器,其中有一个视图和一个透明背景。所以当我最初运行应用程序并按下按钮开始时模态序列,视图控制器被引入,它看起来像这样,因为视图控制器具有透明背景: 但是,当我转到另一个选项卡,然后回到视图控制器时,我是最初,它看起来像这样:我怎样才能使它不显示黑色背景但显示视图控制器背景,并且不使用 SWIFT 使标签栏变暗?

目标

让背景不是黑色,而是显示原来的ViewController 使标签栏不会像它那样变暗为渐变。

【问题讨论】:

你检查你的 viewdidappear 方法了吗? @longbow 我需要寻找什么? 好吧,基本上你可以像在 viewdidload 中一样做同样的事情来设置你的整个背景,但是如果没有看到任何代码就很难判断 - 选项卡栏变暗很可能是因为你实例化了它多次 @longbow 我没有使用任何代码。只是一个在当前上下文中以模态方式呈现的 Segue,具有默认转换。 我严格来说是在谈论 vc 层次结构 - 为什么不将所有内容都放入主 vc 中,然后仍然可以在中间橙色视图中进行动画处理 - 我猜黑屏是因为标签栏控制器失去了轨道您以模态方式呈现橙色框的父 VC 的位置 【参考方案1】:

确保您的视图控制器 Presentation 设置为“Over Current Context”。 Interface Builder 中所有视图控制器设置所在的部分包含过渡样式,其正下方是演示文稿。

Interface Builder Settings Pic

【讨论】:

以上是关于模态转场导致黑屏的主要内容,如果未能解决你的问题,请参考以下文章

如何解除模态转场,然后将转场推入新的视图控制器

使用模态转场时没有动画

模态转场需要 2 次点击而不是一次

自定义模态视图的转场动画

iOS 6,StroryBoards:在模态转场后更新主场景上的 UITextView

标签栏控制器在模态转场后消失