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

时间:2015-12-11 14:14:01

标签: ios uinavigationbar statusbar searchbar

好的,所以......

我已将<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="flashes"> <div class="flash success">It worked!</div> <div class="flash notice">Results may vary.</div> <div class="flash alert">Oh Noes</div> </div> NavigationBar设置为Style,以便状态栏图标变为白色。

(见下面的图1)

Pic 1 - Status Bar Icons White, as they Should be

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

(参见下面的图2)

Pic 2 - Status Bar Icons Black - Not Good

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

非常感谢帮助。

1 个答案:

答案 0 :(得分:1)

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

如果您希望状态栏为白色全部时间,则可以将UIViewControllerBasedStatusBarAppearance info.plist键设置为NO,然后设置UIStatusBarStyle密钥UIStatusBarStyleLightContent

如果您确实希望保持基于视图控制器的状态栏外观,那么您将需要子类UISearchController并覆盖状态栏样式,因为您在技术上为搜索提供了不同的视图控制器,因此状态栏中的更改风格...

class SearchController: UISearchController {

    override func preferredStatusBarStyle() -> UIStatusBarStyle {
        return .LightContent
    }
}

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

相关问题