用透明背景Swift创建模态视图

时间:2014-07-24 20:58:29

标签: ios modal-dialog swift ios8

我认为这是一件很容易实现的事情。基本上我有一个带有一些数据的视图控制器,让它称之为视图控制器A.当你点击一个按钮时,我想要第二个视图控制器(B)显示覆盖第一个。但是,我不希望B完全覆盖A.我希望B更小,并且基本上创建一个黑暗的透明背景,通过它你仍然可以看到A.

我已经通过故事板尝试了很多,我创建了一个类型模式的segue然后我玩了演示选项(表单,表格等等),但基本上总是会发生的事情是B视图控制器只是向上流动并覆盖了所有的A.

有一些指南可以在ios 7和Objective-C中执行此操作,但我还没有能够将这些指南转换为Swift / ios 8(这也适用于iPhone)。

我不确定是否有人在ios 8中尝试过这个,但如果有人能给我一些关于如何实现这一点的提示,那就太棒了。

谢谢!

1 个答案:

答案 0 :(得分:9)

在prepareForSegue中尝试以下内容 -

    toBePresentedVC.view.backgroundColor = UIColor.clearColor()
    presentingViewController.modalPresentationStyle = UIModalPresentationStyle.CurrentContext      
    presentingViewController.presentViewController(self, animated: true completion: nil)

您可以尝试使用背景颜色的几个alpha选项来获得具有某种颜色的透明效果。