ModalViewController透明背景iOS 8

Mad*_*man 19 uiviewcontroller modalviewcontroller ios8

在Xcode 6中打开旧项目,发现在呈现的视图控制器中背景不透明的问题.我在下面的主题中使用了解决方案,它在ios7中工作到目前为止. iOS:ModalView背景透明吗?

请建议如何处理iOS 8.

mmc*_*omb 47

尝试将呈现的视图控制器的modalPresentationStyle属性设置为新的UIModalPresentationOverCurrentContext常量,例如

[_modalViewController setModalPresentationStyle:UIModalPresentationOverCurrentContext]
Run Code Online (Sandbox Code Playgroud)

  • 如果您在"segue"中更改了演示文稿样式,则必须将其更改回默认值.或者它会给你一个黑色的背景. (7认同)

itn*_*nti 19

mmccomb的解决方案最终对我有用,但我不得不调整一些东西.希望这些细节可以帮助某人:

1)我必须从呈现视图控制器设置呈现的视图控制器的属性,如下所示:

MyViewController *myVc = [segue destinationViewController];
[myVc setModalPresentationStyle:UIModalPresentationOverCurrentContext];
Run Code Online (Sandbox Code Playgroud)

在显示的VC的viewDidLoad中设置演示文稿样式不起作用.

2)我正在使用故事板,我必须进入segue属性并将Presentation样式设置为Default.设置任何其他值给了我一个黑色的背景.


Chr*_*aze 17

Interface Builder解决方案

感谢@ mmccomb的程序化解决方案.

实现这一点:

  1. 在故事板文件中创建一个segue(按住Ctrl并单击并拖动)

  2. 从下拉选项中选择" 模态 "

  3. 在IB故事板中选择模态搜索 - (只是segue)

  4. 设置演示属性检查器,以在当前上下文

我建议将alpha/opacity更改为50%+并使用较暗的背景颜色,否则您将难以区分呈现视图控制器的内容和您以模态呈现的内容.