ios - 搜索栏处于事件状态时状态栏图标变黑

标签 ios uinavigationbar statusbar searchbar

好的,所以...

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

(见下图1)

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

问题始于搜索栏。当它处于事件状态并且您可以键入时,它会将 NavigationBar Style 变回 Default,这会使状态栏图标再次变黑。虽然一旦你完成它并且它会回到非事件状态,NavigationBar Style 会回到 Black,它应该是所有的时间。

(见下图2)

Pic 2 - Status Bar Icons Black - Not Good

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

非常感谢您的帮助。

最佳答案

听起来您有基于 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/

相关文章:

ios - 检测应用程序何时最小化(iOS)

swift - Swift 3 中的自定义导航栏

ios - 有谁知道我如何找到 IOS5 Iphones/ipod 的 header 。越狱开发

ios - Expo.Notifications.addListener() 未触发(iOS 独立应用程序)

iphone - 我如何在 iOS 上制作爆炸动画?

ios - 如何在 UITableView 的顶部添加额外的分隔符?

ios - 更改 UINavigationBar 后退按钮的后退箭头位置

ios - 无法在 tableviewcontroller 上获得半透明的导航栏。适用于 View Controller 和 TableView

iphone - 新的 iOS 7 状态栏在 Xcode 5 中编译的应用程序中保留了 20px 的范围

javascript - ionic 状态栏不隐藏