【发布时间】:2015-10-08 14:49:19
【问题描述】:
如何创建一个具有透明背景的视图控制器,它覆盖另一个视图控制器,而在 iOS 9 中底部视图控制器仍然可见?在 iOS 8 中的工作方式不再有效。
【问题讨论】:
-
@Lorenzo,您应该将其发布为答案,而不是评论。
-
@Lorenzo,我对“是的,但是......”感到困惑。答案很短吗?
如何创建一个具有透明背景的视图控制器,它覆盖另一个视图控制器,而在 iOS 9 中底部视图控制器仍然可见?在 iOS 8 中的工作方式不再有效。
【问题讨论】:
首先您可以将覆盖视图控制器的背景颜色设置为透明色。
您可以使用 presentViewController 方法覆盖新的视图控制器。
来自苹果文档
当使用 UIModalPresentationFullScreen 样式呈现视图控制器时,UIKit 通常会在过渡动画完成后移除底层视图控制器的视图。您可以通过指定 UIModalPresentationOverFullScreen 样式来阻止删除这些视图。
因此您可以将覆盖视图控制器的 modalPresentationStyle 设置为 UIModalPresentationOverFullScreen
我也希望这可能会有所帮助
当使用其中一种全屏演示样式时,启动演示的视图控制器本身必须覆盖整个屏幕。如果呈现的视图控制器没有覆盖屏幕,UIKit 会遍历视图控制器层次结构,直到找到一个覆盖。如果找不到填充屏幕的中间视图控制器,UIKit 会使用窗口的根视图控制器。
【讨论】:
仅供参考:现在的语法是:
childVC.modalPresentationStyle = UIModalPresentationStyle.OverFullScreen
【讨论】: