我们知道UIViewController 可以直接设置preferredStatusBarStyle 来改变statusbar 上的文字的颜色。今天记录一下碰到的坑:
场景:UIViewController 的层级比较复杂,简述如下:
A--> B -> C
其中A是带UINavigationController的一个控制器;B是present出来的一个控制器,坑爹的来了,C又是B push出来的带UINavigationController的一个控制器;而且中间B是overCurrentContext类型的。A、B的状态栏需要是白色的,C是需要黑色的。
遇到的问题是:C设置的preferredStatusBarStyle并不会起作用,第一个坑是UINavigationController,这个很常见,此处不表,我遇到的坑是因为B是present出来的,这里preferredStatusBarStyle的传递被阻断了,查了白天后发现还要设置这个属性:vc.modalPresentationCapturesStatusBarAppearance = true,才能被传递下去。
preferredStatusBarStyle之坑
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 存在主义心理治疗认为“自由”是构成心理动力性冲突的四大终极关怀议题之一。“自由”看似是一个积极的概念,但是在存...