视图控制器透明背景

时间:2015-10-08 14:49:19

标签: ios swift ios9

如何创建具有透明背景的视图控制器,该视图控制器覆盖另一个视图控制器,其中底部视图控制器在iOS 9中仍然可见?在iOS 8中运行的方式不再有效。

3 个答案:

答案 0 :(得分:7)

首先,您可以将覆盖视图控制器的背景颜色设置为清晰颜色。

您可以使用presentViewController方法覆盖新的视图控制器。

这来自苹果文档

使用 UIModalPresentationFullScreen 样式呈现视图控制器时,UIKit通常会在过渡动画完成后删除基础视图控制器的视图。您可以通过指定 UIModalPresentationOverFullScreen 样式来阻止删除这些视图。

因此,您可以将覆盖视图控制器的 modalPresentationStyle 设置为 UIModalPresentationOverFullScreen

我也希望这可能有所帮助

使用其中一种全屏演示样式时,启动演示文稿的视图控制器本身必须覆盖整个屏幕。如果呈现视图控制器未覆盖屏幕,UIKit会向上走视图控制器层次结构,直到找到它为止。如果找不到填充屏幕的中间视图控制器,UIKit将使用窗口的根视图控制器。

答案 1 :(得分:0)

You have to choose the "Cover Vertical" option on the Transition Style on your ViewController.

And on the View inside the ViewController the alpha desired.

要解决此问题,您只需更改视图的Alpha信息即可。要在其他视图之上获取此视图,请更改ViewController的过渡样式。

答案 2 :(得分:0)

仅供参考:语法现在是:

        childVC.modalPresentationStyle = UIModalPresentationStyle.OverFullScreen