我正在尝试将某些视图控制器上的状态栏文本更改为白色,但在其他一些视图控制器上,它仍然需要为黑色。(因此无法对整个应用程序进行全局更改)。
一切正常,除了前几秒钟,当点击不同的标签栏时,当出现故障时,状态栏的一半文本变成黑色,而不是白色。然后一切都完美更新。
结构是这样的:一个带有几个选项卡的选项卡栏控制器,每个选项卡包含一个导航控制器,包含一个视图控制器。
有了导航控制器,就有必要更改navigationController?。导航栏。barStyle=。黑色
使其工作。
在标签上按几次后,它工作正常。
当然,我做的第一件事是从中设置
。plist是
查看基于控制器的状态栏外观
我还覆盖了首选的StatusBarStyle,使用布尔值来设置哪个视图控制器应该有白色或黑色状态栏文本:
override var preferredStatusBarStyle: UIStatusBarStyle {
return coloredNavigationBar ? .lightContent : .default
}
var coloredNavigationBar: Bool = true
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if coloredNavigationBar {
navigationController?.navigationBar.barStyle = .black
} else {
navigationController?.navigationBar.barStyle = .default
}
setNeedsStatusBarAppearanceUpdate()
}
粘贴的代码来自到处使用的基本视图控制器。
是的@马特说得对,谢谢。的确,iOS在使用tabbar时会感到困惑。
解决方案是将其添加到TabBarController中:
override public var childForStatusBarStyle: UIViewController? {
if let controller = selectedViewController as? UINavigationController {
return controller.visibleViewController
}
return selectedViewController
}
当我设定时 状态栏变成黑色半透明,但我需要白色 样品
但是我没有找到更改状态文本颜色的方法。如果我将颜色Primary深色设置为白色,我看不到状态栏文本的图标,因为它们的颜色也是白色的。 有什么办法可以更改状态栏文字颜色吗?
我正在尝试将状态栏的颜色改为半透明的黑色(Android7.0),但我得到的只是一个灰色状态栏。每当我尝试将状态栏设置为透明或半透明时,我就会得到这种灰色。但纯色很好用。我使用的是折叠式工具栏布局,我知道我可以使用statusBarScrim,但这个功能也不起作用,我不知道为什么。 XML: 样式: 我也试过使用这些:
如附图所示,状态栏文本为黑色。有没有办法换另一种颜色,比如白色?
状态栏文字颜色 sdk状态栏文字的颜色可以设置为白色或者黑色 , 设置方法如下: /** @param isDark true为黑字模式, false为白色模式 */ Ntalker.getInstance().statusBarDarkMode(boolean isDark);
因此,我在这里读了几篇关于更改状态栏文本颜色的帖子,但都没用。所以我最初的问题是,状态栏现在在iOS7中是透明的,我希望它是带黑色文本的白色。所以我把它添加到我的viewcontroller中。 好的,现在状态是黑对黑,不能阅读文本,但至少它不是透明的。所以现在我做了下面的事情。 进入plist并添加了这个 然后我将此添加到我的应用程序委托 现在我有一个状态栏是白色的,但是文本是白色的,所以你看不