无法将暗淡的背景设置为模态视图
Unable to set a dim background to a modal view
我正在开发一款面向 iOS
7 及更高版本的应用。我想以模态方式呈现一个背景暗淡的视图,该视图部分显示下面的先前视图。我已经阅读了几篇关于这种情况的帖子,我确实做到了:
- 在
storyboard
中创建了一个视图控制器场景并设置了一个模式转场以导航到它。
- 将该模式转场的
Presentation
值设置为 Current Context
。
- 将视图控制器的视图背景色设置为透明色。
- 在父视图上方添加了一个全屏视图,具有黑色背景和 50% 的不透明度。
模态视图的过渡是默认动画。虽然动画,我看到视图呈现为半透明,但是一旦过渡动画结束并且视图最终占据全屏,视图就会变成不透明的黑色。
我做错了什么?我该如何解决这个问题?
正如 @luk2302 所说,当您以模态方式呈现视图控制器时,iOS 会从视图层次结构中删除其下方的视图控制器,因此除了应用程序 window 之外,它下方什么都没有,它是黑色的.不管怎样,iOS 7 有一个新的模态展示样式,UIModalPresentationCustom,它强制iOS 不删除呈现的视图控制器下的视图。但是您必须提供自己的转换委托来处理演示和关闭动画
检查this link如何实现自定义转换委托。
我正在开发一款面向 iOS
7 及更高版本的应用。我想以模态方式呈现一个背景暗淡的视图,该视图部分显示下面的先前视图。我已经阅读了几篇关于这种情况的帖子,我确实做到了:
- 在
storyboard
中创建了一个视图控制器场景并设置了一个模式转场以导航到它。 - 将该模式转场的
Presentation
值设置为Current Context
。 - 将视图控制器的视图背景色设置为透明色。
- 在父视图上方添加了一个全屏视图,具有黑色背景和 50% 的不透明度。
模态视图的过渡是默认动画。虽然动画,我看到视图呈现为半透明,但是一旦过渡动画结束并且视图最终占据全屏,视图就会变成不透明的黑色。
我做错了什么?我该如何解决这个问题?
正如 @luk2302 所说,当您以模态方式呈现视图控制器时,iOS 会从视图层次结构中删除其下方的视图控制器,因此除了应用程序 window 之外,它下方什么都没有,它是黑色的.不管怎样,iOS 7 有一个新的模态展示样式,UIModalPresentationCustom,它强制iOS 不删除呈现的视图控制器下的视图。但是您必须提供自己的转换委托来处理演示和关闭动画 检查this link如何实现自定义转换委托。