我正在尝试从NavigationController推送viewcontroller,并且在viewcontroller中,我将AlphaComponent设置为透明效果,但是它不起作用。它可以在presnt上使用,但不能在Push上使用,如何解决这个问题?
{{method_field('PUT')}}
答案 0 :(得分:3)
好吧,这是因为您的UIViewcontrollers
让我稍后解释一下
UINavigationController
是UIViewControllers
的先进先出堆栈,
推入UIViewController
时,将其推入堆栈意味着UIViewController
后面没有任何内容,因为UIWindow
层次结构在UINavigationController
中包含一个元素。
查看此图片,以解释什么是后进先出堆栈,将其视为您的UINavigationViewController
,其UIViewControllers
为
数据元素
现在为什么当您present
UIViewController
时起作用,仅因为您将UIViewController
覆盖在当前可见的顶部即可。
总结:
当您设置View.backgroundColor = .clear
时,您可以看到当前UIViewController
的后面,但是当按下时,您只会看到黑屏,因为后面没有任何东西。
简短答案: 除非您在场,否则您将看不到背后的踪影。
答案 1 :(得分:0)
在初始化时,SelectGeoLocation的视图未加载。
您是否尝试过将self.view.alpha = xxx放入SelectGeoLocation-ViewDidLoad中?