好的,所以......
我已将<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)
问题始于搜索栏。当它处于活动状态且你可以输入它时,将Black
NavigationBar
转回Style
,这会使状态栏图标再次变黑。虽然一旦你完成它并且它又回到了不活动状态,Default
NavigationBar
会回到Style
,它应该一直在那里。
(参见下面的图2)
我还没有找到办法让状态栏图标始终保持白色。
非常感谢帮助。
答案 0 :(得分:1)
听起来你有基于视图控制器的状态栏外观设置。
如果您希望状态栏为白色全部时间,则可以将UIViewControllerBasedStatusBarAppearance
info.plist键设置为NO
,然后设置UIStatusBarStyle
密钥UIStatusBarStyleLightContent
。
如果您确实希望保持基于视图控制器的状态栏外观,那么您将需要子类UISearchController
并覆盖状态栏样式,因为您在技术上为搜索提供了不同的视图控制器,因此状态栏中的更改风格...
class SearchController: UISearchController {
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
}
(请注意,我假设您使用UISearchController
,因为您的问题未提及您的方法)