iOS 16启动屏幕状态栏样式无法更改为浅色内容。

4
我正在尝试将我的应用程序启动屏幕的状态栏样式更改为UIStatusBarStyleLightContent,但似乎无论我在Xcode中选择哪种设置,状态栏都保持暗色。
您可以看到项目配置中将状态栏样式设置为浅色内容,并在我的Info.plist文件中设置了UIStatusBarStyleLightContent

Xcode configuration

Info Plist

然而,在启动屏幕中,状态栏仍然是暗色的,您可以从这个GIF中看到:

status bar style

我可以通过创建一个新项目并尝试更改状态栏样式来重现此问题。我做错了什么?

我认为这是 iOS 16 中的一个 Bug,因为在 iOS 15 中做你所做的事情是可行的。 - TylerP
1
是的,非常奇怪。我可以确认这在 iOS 14 和 iOS 15 上工作。我提交了一个错误报告 (FB11734800)。 - Aaron Wojnowski
2个回答

0

我认为这是 iOS 16 的一个 bug,在 2023.7.18 仍然存在。


有人解决了吗? - undefined
有人解决了吗? - Pzx
根据目前的写法,你的回答不够清晰。请编辑以添加更多细节,帮助其他人理解这如何回答所提出的问题。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - Community

0

您还需要将信息键View controller-based status bar appearance设置为NO


2
我不确定为什么在研究这个主题时,这个建议经常出现。基于视图控制器的状态栏外观与启动屏幕状态栏外观无关(https://developer.apple.com/documentation/bundleresources/information_property_list/uiviewcontrollerbasedstatusbarappearance)。无论如何,作为一个测试,我将此属性设置为NO,但没有任何区别。状态栏仍然是暗色的。 - Aaron Wojnowski
我刚刚用一个新项目进行了双重检查。将“Set to Light Content”设置为“否”没有成功。添加“View controller-based...”键并将其设置为“否”,它就可以工作了。 - Magnas
发现了这个链接:https://medium.com/@craiggrummitt/the-mysterious-case-of-the-status-bar-d9059a327c97 可能有帮助,也可能没有。看起来是一个过于复杂的问题。 - Magnas
1
谢谢@Magnas。我指的是启动屏幕,而不是初始视图控制器。如果你仔细观察应用程序启动时,你会发现状态栏仍然以深色内容开始。为了进一步验证这一点,在你的application:didFinishLaunchingWithOptions:方法中放置sleep(1000);。当你将View controller-based status bar appearance设置为YES时,你使得初始视图控制器具有浅色状态栏,但这对启动屏幕状态栏样式没有影响。 - Aaron Wojnowski
1
更正 - 上面的意思是当您将“View controller-based status bar appearance”设置为“NO”时。 - Aaron Wojnowski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接