【问题标题】:Clear background for status bar in iOSiOS中状态栏的清除背景
【发布时间】:2014-12-15 09:37:09
【问题描述】:

如何将状态栏的颜色设置为清晰。无论我做什么,它都是带有一些 alpha 的白色。

我不希望它消失,我希望文本是黑色的。

在图片中,nag bar 和 status bar 可能看起来是灰色的,但实际上两者都是带有一些模糊效果的白色,或者 nag bar 具有模糊效果并且状态栏是清晰的。

尽管状态栏背景颜色清晰,但我还是得到了以下结果

【问题讨论】:

    标签: ios objective-c xcode6 background-color statusbar


    【解决方案1】:

    状态栏从iOS 7开始就没有背景了,也就是说默认是清晰的。

    如果你看到它是白色的,这意味着底层视图是白色的,你需要改变它。

    【讨论】:

    • 所以基本上如果一切都清楚到窗口我得到黑色背景。那不是我想要的。我想要像 Pinterest 这样的行为。我在我的问题中附上了一张照片,请看。
    • 如果您使用UINavigationController,这是默认行为,即UINavigationBar 将延伸到状态栏下方。网上有大量材料对此进行了解释,因此您可以轻松找到教程。这里的关键是状态栏本身没有背景。
    • 我已经尝试了所有可以在网上找到的方法,但我的状态栏仍然略显白色。我添加了一张图片。谢谢:)
    • 好吧,我想通了。你是对的。在我的代码中的某处添加了一个栏以适应 iOS7 的变化:)
    • 你是怎么说清楚的?我将我的根视图设置为UIColor.clearColor(),我的状态栏是黑色的
    【解决方案2】:

    我遇到了同样的问题。结果我的视图被限制在顶部布局指南中,而它应该被限制在超级视图中。即使视图被限制在不同的点上,它在界面构建器中看起来也是一样的(在我的情况下,我认为这是因为我在代码中将视图控制器实例化到我的导航控制器而不显示导航栏)。见下图。

    点击上面视图中imageview的约束,可以在size inspector中看到约束的不同。

    对 superview 的约束如下所示:

    这导致模拟器显示如下视图: 注意状态栏是如何清晰地覆盖在 imageview 之上的。

    限制到顶部布局指南将如下所示:

    这导致模拟器显示如下视图: 注意状态栏是如何显示为白色的,以及图像视图是如何限制在状态栏上的(状态栏是白色背景上的白色文本,仅供参考)。

    所以,为了解决这个问题,你需要将图像视图的约束更改为约束到父视图。

    您可以通过在此列表中选择约束来更改此设置:

    一旦您选择了约束,您就可以在此处更改约束所附加的内容:

    【讨论】:

    • 您能否详细说明您是如何做到这一点的?
    • @NolanH 我在解释中添加了一些截图。希望对您有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-06-18
    • 2017-02-19
    • 2015-06-01
    • 1970-01-01
    • 2020-05-15
    • 2018-04-10
    • 2016-10-16
    • 2020-01-26
    相关资源
    最近更新 更多