在swift 3.0

时间:2017-07-04 09:16:55

标签: swift3

我正在展示一个具有透明背景的viewController。但是,viewController上的组件在呈现时是不可见的。看到一个空白的viewController。我给了alpha值和黑色背景颜色。 当我调用透明viewController

时,这是我的代码
if indexPath.row==0
{
   let modalViewController = PopUpViewController()
    modalViewController.modalPresentationStyle = .overCurrentContext
    present(modalViewController, animated: true, completion: nil)
 }

enter image description here

但是此控制器上有一个橙色UIView,它是隐形的,提前感谢enter image description here  enter image description here

2 个答案:

答案 0 :(得分:1)

您可以将两个视图作为outerView(透明黑色)和innerView(OrangeView),请注意两个视图都在同一层次结构中。 (如截图所示)

  • viewController的默认视图背景颜色应为clearColor。
  • OuterView应具有透明的黑色背景。
  • Segue属性检查器中的Segue表示属性应该是全屏,如图所示。

enter image description here

它会在跑步时显示。

enter image description here

答案 1 :(得分:1)

您只需要以模态方式呈现第二个具有透明背景的Viewcontroller。使用以下配置:

enter image description here

这就是结果:

enter image description here

对于那些可能不熟悉不透明度的人:在这种情况下,为了透明度,最好使用不透明度而不是 Alpha

enter image description here