OGeek|极客世界-中国程序员成长平台

标题: ios - ModalViewController 半透明背景 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 11:50
标题: ios - ModalViewController 半透明背景

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

MyViewController *myViewController = [[MyViewController alloc] init];
navController.modalPresentationStyle = UIModalPresentationCurrentContext;
[navController presentViewController:myViewController animated:NO completion:nil];

现在用 IOS8 编译显示一个带有黑色背景的模态。

有什么解决办法吗? (不制作动画 subview ) 谢谢。



Best Answer-推荐答案


在 iOS 8 及更高版本中,您可以为此目的使用 'UIModalPresentationOverCurrentContext'。来自 UIViewController 文档:

UIModalPresentationOverCurrentContext

A presentation style where the content is displayed over only the parent view controller’s content. The views beneath the presented content are not removed from the view hierarchy when the presentation finishes. So if the presented view controller does not fill the screen with opaque content, the underlying content shows through.

When presenting a view controller in a popover, this presentation style is supported only if the transition style is UIModalTransitionStyleCoverVertical. Attempting to use a different transition style triggers an exception. However, you may use other transition styles (except the partial curl transition) if the parent view controller is not in a popover.

Available in iOS 8.0 and later.

我不知道在 iOS 8 之前曾支持透明模态呈现的 View Controller (我将研究它以供我自己使用),但上述选项在我在新操作系统中的测试中绝对有效。

注意:请务必为您呈现的 View Controller 提供 clearColor 的 backgroundColor。

关于ios - ModalViewController 半透明背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25915711/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4