gpt4 book ai didi

ios - 淡化状态栏文本而不删除状态栏本身

转载 作者:行者123 更新时间:2023-11-28 05:34:10 25 4
gpt4 key购买 nike

我想隐藏状态栏文本而不删除状态栏本身。

我正在全屏显示一个新的 View Controller ,我不希望状态栏文本在该 View Controller 接管全屏时可见。请注意,呈现 View Controller 有一个 UINavigationBar 而呈现 View Controller 没有。

我曾尝试在 prefersStatusBarHidden 中简单地返回 true 但这会导致状态栏框架被删除,导致呈现 View Controller 上的导航 Controller 向上滑动,并且这是可见的,而新的 View Controller 仍然从底部开始动画。

然后我尝试将呈现的 View Controller 的 modalPresentationCapturesStatusBarAppearance 设置为 true,然后在 prefersStatusBarHidden 中返回 false.FadepreferredStatusBarUpdateAnimation 中,在 viewDidAppear 中调用 setNeedsStatusBarAppearanceUpdate() 但这会导致状态栏文本从白色变为白色变黑并保持可见。将 prefersStatusBarHidden 设置为 true 会像我之前提到的那样删除状态栏。

理想情况下,我会在启动 segue 时开始淡化状态栏上的文本,并且在动画完成时 alpha 会达到 0。然后在解雇时淡出到 alpha 1。这个或类似的解决方案是否可行?我只需要支持 iOS 8+。

最佳答案

实际上,您可以直接访问带有状态栏的窗口,并随心所欲地使用它。

- (UIWindow *)statusBarWindow
{
return (UIWindow *)[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"];
}

当然,这是未记录的功能,在应用审查过程中可能很危险,但我对它只有积极的体验。

关于ios - 淡化状态栏文本而不删除状态栏本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com