在pushViewController AlphaComponent上不起作用

时间:2019-02-20 10:18:28

标签: ios swift iphone cocoa-touch pushviewcontroller

我正在尝试从NavigationController推送viewcontroller,并且在viewcontroller中,我将AlphaComponent设置为透明效果,但是它不起作用。它可以在presnt上使用,但不能在Push上使用,如何解决这个问题?

{{method_field('PUT')}}

2 个答案:

答案 0 :(得分:3)

好吧,这是因为您的UIViewcontrollers

的层次结构

让我稍后解释一下

UINavigationControllerUIViewControllers先进先出堆栈, 推入UIViewController时,将其推入堆栈意味着UIViewController后面没有任何内容,因为UIWindow层次结构在UINavigationController中包含一个元素。

查看此图片,以解释什么是后进先出堆栈,将其视为您的UINavigationViewController,其UIViewControllers数据元素 enter image description here

现在为什么当您present UIViewController时起作用,仅因为您将UIViewController覆盖在当前可见的顶部即可。

查看这张演示文稿的图片。
enter image description here

总结

当您设置View.backgroundColor = .clear时,您可以看到当前UIViewController的后面,但是当按下时,您只会看到黑屏,因为后面没有任何东西。

简短答案: 除非您在场,否则您将看不到背后的踪影。

答案 1 :(得分:0)

在初始化时,SelectGeoLocation的视图未加载。

您是否尝试过将self.view.alpha = xxx放入SelectGeoLocation-ViewDidLoad中?