【发布时间】:2022-09-29 15:48:20
【问题描述】:
问题
目前我正在开发一个应用程序,在 iOS 16 上,状态栏的文本颜色通常为白色,而自定义标题的背景颜色为浅色。在自定义标题的代码中,有一个检查应该根据标题的颜色设置正确的 UIStatusBarStyle。当标题为浅色时,状态栏中的文本应为黑色,当标题的背景颜色为深色时,文本应为白色。
自 iOS 16 以来,此逻辑不再正常工作,我尝试修复它,但它似乎不起作用。
我在模拟器上没有这种行为,但我可以在装有 iOS 16 的 iPhone 12 上重现它。
该项目使用 Xamarin.iOS 和 C#。
我试过的
- 在 iOS 为 16 时,我在 AppDelegate 中将 UIStatusBarStyle 设置为 DarkContent。
- 在自定义标头中,当 iOS 为 16 时,我将 UIStatusBarStyle 设置为 DarkContent,并带有 if 语句和 return。当标题的背景颜色为浅色时,我还将 UIStatusBarStyle 设置为 DarkContent(其他 iOS 版本回退)。
有没有人在 iOS 16 上使用 UIStatusBarStyle 有相同的行为?我只找到了一个关于它的post,它更多的是为最终用户而不是开发人员。
标签: xamarin.ios uistatusbar ios16