无法将暗淡的背景设置为模态视图

Unable to set a dim background to a modal view

我正在开发一款面向 iOS 7 及更高版本的应用。我想以模态方式呈现一个背景暗淡的视图,该视图部分显示下面的先前视图。我已经阅读了几篇关于这种情况的帖子,我确实做到了:

  1. storyboard 中创建了一个视图控制器场景并设置了一个模式转场以导航到它。
  2. 将该模式转场的 Presentation 值设置为 Current Context
  3. 将视图控制器的视图背景色设置为透明色。
  4. 在父视图上方添加了一个全屏视图,具有黑色背景和 50% 的不透明度。

模态视图的过渡是默认动画。虽然动画,我看到视图呈现为半透明,但是一旦过渡动画结束并且视图最终占据全屏,视图就会变成不透明的黑色。

我做错了什么?我该如何解决这个问题?

正如 @luk2302 所说,当您以模态方式呈现视图控制器时,iOS 会从视图层次结构中删除其下方的视图控制器,因此除了应用程序 window 之外,它下方什么都没有,它是黑色的.不管怎样,iOS 7 有一个新的模态展示样式,UIModalPresentationCustom,它强制iOS 不删除呈现的视图控制器下的视图。但是您必须提供自己的转换委托来处理演示和关闭动画 检查this link如何实现自定义转换委托。