iPhone:与视图布局的半透明黑色uistatusbar的问题

我的状态栏有一些问题。 这是一个iPhone应用程序,而不是一个iPad应用程序。 我想在应用程序的每个地方都有一个黑色的半透明的状态栏。

已经在应用程序plist中设置了状态栏的样式。 它被设置为黑色半透明。

我的理解是,当这个设置,所有的意见的布局将开始在0,0而不是0,20,就像你有一个不透明的状态栏。 这就是为什么IB给你select指定什么样的状态栏的提示,因此它可以模拟它并在IB中正确显示它。 (是的,所有我在IB的意见被设置为显示一个黑色的半透明状态栏)。 布局是从0,0完成的,因此状态栏会覆盖您的视图以显示某些内容。 而在IB,它工作正常。 但在我的应用程序不。

我的应用程序是基于标签栏的应用程序,只有其中一个视图看起来是正确的,即使它们都设置相同。 为了使这一个视图正常工作,我必须将背景视图图像设置为0,-20,将主视图设置为NOT剪辑子视图。 所以看起来黑色半透明的布局是不正确的。 另外,我所有的其他选项卡视图都以相同的方式设置,而不是将子视图和主背景视图设置为0,-20。 但只有在第一个标签中,这实际上是“工作”。

这里有一些图片:

它应该如何看(但仍然必须设置背景为0,-20): 这是它应该看起来

另一个选项卡,具有完全相同的设置,如下所示: 坏的另一个标签

为了确保这是一个blacl半透明的状态栏,没有背景覆盖,我试了一下没有背景: 没有背景

和另一种背景(另一种是直的蓝色,没有轻微的拉丝效果): 替代背景

因为所有三个不工作的例子(没有背景,实际和替代)的状态栏看起来完全一样,我认为状态栏是正确的sorting,黑色半透明,但没有任何背后透露。

我的几个标签都有这个问题,并且所有在导航控制器的选项卡中循环的视图都有这个问题。 他们都设置为“剪辑子视图”设置为“否”和背景的起源设置为0,-20

我认为“工作”一个不工作,但看起来像是背景视图中的负偏移。 我认为它实际上应该设置为0,0,并工作。 但是主要的IB提供的视图的起源被设置为0,20,它是灰色的,所以我不能改变它。

此外,我还有一个问题,一个设置选项卡,我使用不同的外观和感觉(更多的iPhone看起来),黑色半透明甚至没有生效。 我从一个编程构造的视图开始,它显示一个灰色的状态栏: 设置以编程方式构建

钻到笔尖支持的意见,他们看起来是一样的: 设置笔尖支持

而且这些视图被devise成好像是一个灰色的状态栏,下降了20个像素(在IB中它们被设置为黑色半透明,所以我把它们放大了20个像素)

我已经尝试除了应用程序plist条目以编程方式设置状态栏样式,但它没有任何效果(在任何这些选项卡上)。

我一直在研究这个(Google,stackoverflow,apple.com)几个星期。 但没有发现我应该做什么的迹象。

ETA: wantsFullScreenLayout解决了其中一个问题,所以我将其标记为已解决。 我已经提出了一个新的问题,其中最初提出的两个问题之一是更新的问题,其中包含新的图片,描述等,并提供更多适用的标题,因为问题不是uistatusbar本身。 新的问题在于新的问题

“我的理解是,当这个设置,所有的意见的布局将开始在0,0而不是0,20,就像你有一个不透明的状态栏时。

你是在哪里拿到的? 应用程序的窗口框架将保持原样,默认情况下它的(0,0),它将停留在那里 – 它不关心状态栏的外观。

现在视图控制器的视图是另一回事。 在默认情况下,它们的框架被设置为UIScreenapplicationFrame属性(换句话说,屏幕边界减去状态栏占用的区域)。 这就是为什么你不能在半透明的状态栏后面显示背景颜色。

尝试将wantsFullScreenLayout属性设置为组成选项卡的每个视图控制器的YES 。 它将带来框架(0,0),因为你需要它。