是否可以通过使视图控制器的视图透明来显示基础视图(或视图控制器背面的视图)?我试过,它只是淡化为黑色,并没有透露它背后的任何东西。
原因?
编辑: 好的,这个问题需要更多的背景。 我有一个视图控制器。现在我将展示另一个视图控制器(视图控制器的简单演示,模态)。在呈现新的视图控制器之后,我使用alpha = 0使其视图透明。为什么它没有透露底层视图控制器的视图?
是否会使用iOS 7 Transition API帮助?
答案 0 :(得分:2)
如果您以模态方式呈现视图控制器(使用presentViewController:animated:completion:
),则会从窗口中删除呈现视图控制器的视图,因此您无法通过呈现的视图控制器查看呈现视图控制器。您可能想要使用子视图控制器:https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html
或者,您可以将视图控制器显示在新的UIWindow
。
答案 1 :(得分:1)
您无法看到原始视图控制器,因为您使用-presentViewController:animated:completion:
会在动画结束后隐藏呈现视图控制器。
您可以在调用'presentViewController:animated:completion'之前将modalPresentationStyle
设置为UIModalPresentationOverCurrentContext
,UIModalPresentationOverFullScreen
和UIModalPresentationCustom
之一,以便底层呈现视图控制器将不被隐藏。
答案 2 :(得分:0)
如果您希望在所有UIViewController下面显示相同的背景图像,您可以在applicationdidfinishlaunching方法中向[UIApplication sharedApplication] .window添加UIImageView