好的,所以...
我已将 NavigationBar
Style
设置为 Black
,以便状态栏图标变为白色。
(见下图1)
问题始于搜索栏。当它处于事件状态并且您可以键入时,它会将 NavigationBar
Style
变回 Default
,这会使状态栏图标再次变黑。虽然一旦你完成它并且它会回到非事件状态,NavigationBar
Style
会回到 Black
,它应该是所有的时间。
(见下图2)
我还没有找到让状态栏图标始终保持白色的方法。
非常感谢您的帮助。
最佳答案
听起来您有基于 View Controller 的状态栏外观设置。
如果您希望状态栏一直为白色,那么您可以将 UIViewControllerBasedStatusBarAppearance
info.plist 键设置为 NO
并且然后将 UIStatusBarStyle
键设置为 UIStatusBarStyleLightContent
。
如果你确实想保持基于 View Controller 的状态栏外观,那么你需要子类化 UISearchController
并覆盖状态栏样式,因为你在技术上呈现不同的 View Controller 进行搜索,因此更改在状态栏样式...
class SearchController: UISearchController {
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
}
(请注意,我假设您使用的是 UISearchController
,因为您的问题没有提及您的方法)
关于ios - 搜索栏处于事件状态时状态栏图标变黑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34225549/