Ios ModalViewController半透明背景

Ios ModalViewController半透明背景,ios,objective-c,ios8,Ios,Objective C,Ios8,我使用这段代码将UIViewController显示为具有半透明背景的模式(在IOS7及更低版本上工作) 现在,使用IOS8编译时,会显示一个背景为黑色的模式 有什么解决办法吗?(不创建动画子视图) 谢谢。在iOS 8及更高版本中,您可以为此使用“UIModalPresentationOverCurrentContext”。从UIViewController文档中: UIModalPresentationOverCurrentContext 一种显示样式,其中内容仅显示在屏幕上 父视图控制器的内

我使用这段代码将UIViewController显示为具有半透明背景的模式(在IOS7及更低版本上工作)

现在,使用IOS8编译时,会显示一个背景为黑色的模式

有什么解决办法吗?(不创建动画子视图)
谢谢。

在iOS 8及更高版本中,您可以为此使用“UIModalPresentationOverCurrentContext”。从UIViewController文档中:

UIModalPresentationOverCurrentContext

一种显示样式,其中内容仅显示在屏幕上 父视图控制器的内容。下面的景色呈现出来 显示时,不会从视图层次结构中删除内容 完成。因此,如果显示的视图控制器没有填充屏幕 对于不透明内容,底层内容将显示为透明

在popover中演示视图控制器时,此演示文稿 仅当转换样式为时,才支持样式 UIModalTransitionStyleCoverVertical。尝试使用不同的 转换样式触发异常。但是,您可以使用其他 变换样式(部分卷曲变换除外),如果父对象 视图控制器不在popover中

在iOS 8.0及更高版本中提供

我不知道在iOS 8之前是否支持透明模式显示的视图控制器(我将研究它以供自己使用),但上述选项在我在新操作系统中的测试中肯定有效


注意:请确保为显示的视图控制器提供clearColor的背景色。

这可能是复制/粘贴问题,但您显示的是“myViewController”,但将modalPresentationStyle设置为navController。这是相同的,navigationController具有可设置为UIModalPresentationCurrentContext的modalPresentationStyle属性。将其设置为navController或UIViewController不会改变IOS8上的任何内容。
MyViewController *myViewController = [[MyViewController alloc] init];
navController.modalPresentationStyle = UIModalPresentationCurrentContext;
[navController presentViewController:myViewController animated:NO completion:nil];