搜索栏处于活动状态时,状态栏图标变为黑色

Posted

技术标签:

【中文标题】搜索栏处于活动状态时,状态栏图标变为黑色【英文标题】:Status Bar Icons Turn Black when Search Bar is active 【发布时间】:2016-03-17 11:38:28 【问题描述】:

好吧,那么……

我已将 NavigationBar Style 设置为 Black 以便状态栏图标变为白色。

(见下图1)

问题始于搜索栏。当它处于活动状态并且您可以键入时,它会将NavigationBar Style 变回Default,这会使状态栏图标再次变黑。虽然一旦你完成它并且它又回到不活动状态,NavigationBar Style 又回到 Black,它应该一直在哪里。

(见下图2)

我还没有找到让状态栏图标始终保持白色的方法。

非常感谢您的帮助。

【问题讨论】:

***.com/questions/17678881/… 【参考方案1】:

听起来你有基于视图控制器的状态栏外观设置。

如果你想让状态栏一直都是白色的,那么你可以将UIViewControllerBasedStatusBarAppearance info.plist 键设置为NO,然后将UIStatusBarStyle 键设置为UIStatusBarStyleLightContent .

如果您确实想保持基于视图控制器的状态栏外观,那么您将需要继承 UISearchController 并覆盖状态栏样式,因为您在技术上呈现不同的视图控制器进行搜索,因此状态栏样式会发生变化。 ..

class SearchController: UISearchController 

    override func preferredStatusBarStyle() -> UIStatusBarStyle 
        return .LightContent
    

(请注意,我假设您使用的是UISearchController,因为您的问题没有提及您的方法)

【讨论】:

以上是关于搜索栏处于活动状态时,状态栏图标变为黑色的主要内容,如果未能解决你的问题,请参考以下文章

使用搜索栏时无法使表格视图处于非活动状态。苹果手机

如何使状态栏变为白色并带有黑色图标?

在 iOS 13 中使用 UISearchController 时,状态栏在 iOS 中变为白色

当搜索栏处于活动状态时,快速表视图被锁定

更改 Material You 底部导航栏处于活动和非活动状态的图标

在搜索栏处于活动状态时删除表格视图中的单元格 - CoreData 错误