【发布时间】:2011-10-07 06:04:52
【问题描述】:
我的状态栏有一些问题。这是一个 iPhone 应用程序,而不是一个 iPad 应用程序。我想在应用程序的任何地方都有一个黑色半透明状态栏。
我已经在应用 plist 中设置了状态栏样式。设置为黑色半透明。
我的理解是,设置此选项后,所有视图的布局将从 0,0 而不是 0,20 开始,就像您有不透明状态栏时那样。这就是为什么 IB 为您提供选项来指定您将使用哪种状态栏的提示,以便它可以模拟它并在 IB 中正确显示它。 (是的,我在 IB 中的所有视图都设置为显示黑色半透明状态栏)。布局从 0,0 开始,因此状态栏将覆盖您的视图以显示某些内容。在 IB 中它运行良好。但在我的应用中却没有。
我的应用是一个基于标签栏的应用,只有一个视图看起来正确,尽管它们的设置都是一样的。为了让那个视图工作,我必须将背景视图图像设置为 0,-20,主视图设置为不剪辑子视图。所以看起来黑色半透明的布局不能正常工作。此外,我所有其他选项卡视图都以相同的方式设置,而不是剪辑子视图并将主背景视图设置为 0,-20。但只有在第一个选项卡中,这才真正“起作用”。
这里有一些图片:
它应该是什么样子(但仍然必须将背景设置为 0,-20):
另一个具有完全相同设置的选项卡如下所示:
为了确保它是一个没有背景可叠加的黑色半透明状态栏,我尝试了没有背景:
和另一种背景(另一种是纯蓝色,没有轻微的拉丝效果):
由于所有三个不起作用的示例(无背景、实际和替代)上的状态栏看起来完全相同,我假设状态栏是正确的排序,黑色半透明,但后面没有任何东西可以显示。
我的几个选项卡都有这个问题,并且所有在选项卡中循环通过导航控制器的视图都有这个问题。它们都设置为与“工作”选项卡相同,“剪辑子视图”设置为 NO,背景的原点设置为 0,-20
我认为“工作”的那个不工作,但看起来它是由于背景视图中的负偏移。我认为它实际上应该设置为 0,0 并且可以工作。但是 IB 提供的主要视图的原点设置为 0,20,并且它是灰色的,所以我无法更改它。
此外,我在一个选项卡上还有另一个问题,一个设置选项卡,我使用了不同的外观和感觉(更像 iPhone),黑色半透明甚至没有生效。我从一个以编程方式构建的视图开始,它显示了一个灰色的状态栏:
深入到 nib 支持的视图,它们看起来是一样的:
视图的布局就像是一个灰色状态栏,向下 20 像素(在 IB 中它们被设置为黑色半透明,所以我将它们布局高 20 像素)
除了应用 plist 条目之外,我还尝试以编程方式设置状态栏样式,但它没有任何效果(在任何这些选项卡上)。
我一直在研究这个(Google、stackoverflow、apple.com)几个星期,断断续续。但没有发现我应该做什么的迹象。
ETA:wantsFullScreenLayout 解决了其中一个问题,因此我将其标记为已解决。我已经打开了一个新问题,更新了这里最初提出的两个问题之一,有新的图片、描述等以及更适用的标题,因为问题不是 uistatusbar 本身。新问题在
new problem
【问题讨论】:
标签: iphone ios layout translucency uistatusbar