使用 Swift 创建带有透明背景的模态视图

5
我认为这是一个很容易实现的事情。基本上,我有一个视图控制器 A,其中包含一些数据。当您单击按钮时,我希望第二个视图控制器 B 出现在第一个视图控制器 A 的上方。但是,我不想让 B 完全覆盖 A。我希望 B 更小,并且可以创建一个暗透明的背景,通过该背景您仍然可以看到 A。
我尝试了 storyboard 很多次,创建了一个 modal 类型的 segue,然后调整了呈现选项(表单、工作表等),但基本上总是会发生 B 视图控制器简单地向上流动并覆盖所有 A 的现象。
虽然在 iOS 7 和 Objective-C 中有一些指南可以做到这一点,但我还没有能够将其转化为 Swift/iOS 8(也是 iPhone)。
我不确定是否有人在 iOS 8 中尝试过这个功能,但如果有人能给我一些提示,那就太棒了。
谢谢!
1个回答

9
在prepareForSegue中尝试以下操作 -
    toBePresentedVC.view.backgroundColor = UIColor.clearColor()
    presentingViewController.modalPresentationStyle = UIModalPresentationStyle.CurrentContext      
    presentingViewController.presentViewController(self, animated: true completion: nil)

您可以尝试使用带有背景颜色的几个alpha选项,以获得一些颜色的透明效果。


抱歉耽搁了。这基本上是我最终做的。 - Pompey
你能告诉我我们应该在哪里添加这段代码吗?是在 ViewController A 还是 B 中? - sudheer
这个要在 prepareForSegue 中使用吗? - webmagnets

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接