为iOS中的状态栏清除背景

问题描述 投票:1回答:2

我怎么能把状态栏的颜色设置成清晰的。无论我怎么做,它都是白色的,还有一些alpha。

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

在图片中,它可能看起来像nag栏和状态栏是灰色的,但实际上两者都是白色的,有一些模糊的影响,或者nag栏有模糊的影响,状态栏是清晰的。

Pinterest clear status bar

以下是我得到的结果,尽管状态栏的背景颜色很清晰。enter image description here

ios objective-c xcode6 background-color statusbar
2个回答
6
投票

状态栏没有背景,因为iOS 7。换句话说,默认情况下它是清晰的。

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


0
投票

我也遇到了同样的问题。 最后我的视图被约束到顶部布局指南,而不是应该被约束到superview。 即使视图被约束在不同的点上,它在界面构建器中看起来也是一样的(在我的例子中,我认为这是因为我在代码中把viewcontroller实例化到我的导航控制器上,而不是显示导航条)。 请看下面的图片。

Constraining to the superview and to the top layout guide both look the same in interface buildedr.

点击上图视图中的imageview的约束,在尺寸检查器中可以看到约束的不同。

对superview的约束会是这样的。enter image description here

这将导致模拟器显示的视图是这样的。Notice how the status bar is clear and overlaid on top of the imageview.注意状态栏是如何清晰地覆盖在图像视图的顶部。

约束到顶部布局指南将看起来像这样:这导致模拟器显示的视图是这样的:注意状态栏是清晰的,并覆盖在图像视图的顶部。enter image description here

这将导致模拟器显示这样的视图。enter image description here请注意状态栏是如何显示为白色的 而图像视图又是如何被限制在状态栏上的(状态栏是白色背景上的白色文字)。

因此,为了解决这个问题,你需要改变图像视图的约束,使其约束到superview。

你可以通过选择这个列表中的约束来改变。enter image description here

一旦你选择了约束,你就可以在这里改变约束的内容。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.