cha*_*bag 3 iphone layout translucency ios uistatusbar
我的状态栏有问题.这是一个iPhone应用程序,而不是iPad应用程序.我想在应用程序的任何地方都有一个黑色半透明状态栏.
我已经设定在应用程序的plist状态栏样式.它设置为黑色半透明.
我的理解是,当设置它时,所有视图的布局将从0,0而不是0,20开始,就像你有一个不透明的状态栏一样.这就是为什么IB允许您选择指定您将使用哪种状态栏的提示,以便它可以模拟它并在IB中正确显示它.(是的,我在IB中的所有视图都设置为显示黑色半透明状态栏).布局从0,0完成,因此状态栏将覆盖您的视图以显示内容.在IB中它工作正常.但在我的应用程序中却没有.
我的应用程序是一个基于标签栏的应用程序,只有其中一个视图看起来正确,即使它们都设置相同.为了使这一个视图起作用,我必须将背景视图图像设置为0,-20,并将主视图设置为NOT剪辑子视图.所以看起来黑色半透明的布局不能正常工作.此外,我所有其他标签视图的设置方式相同,不是剪辑子视图,主背景视图设置为0,-20.但只有在第一个标签中,这实际上"工作".
这是一些图片:
它应该如何(但仍然必须将背景设置为0,-20):
另一个选项卡具有完全相同的设置,如下所示:
为了确保它是一个没有叠加背景的blacl半透明状态栏,我尝试了它没有背景:
和替代背景(替代是直蓝色,而不是轻微的拉丝效果):
因为所有三个不工作的例子(没有背景,实际和替代)的状态栏看起来完全相同,我假设状态栏是正确的排序,黑色半透明,但没有任何背后显示.
我的几个选项卡都有这个问题,并且带有导航控制器的选项卡中循环的所有视图都有这个问题.并且它们都设置为"工作"选项卡,其中"剪辑子视图"设置为NO,背景的原点设置为0,-20
我认为"工作"不起作用,但看起来好像是由于背景视图中的负偏移.我认为它实际应该设置为0,0并且工作.但主要的IB提供的视图的原点设置为0,20并且它是灰色的,所以我无法改变它.
此外,我在一个选项卡上有另一个问题,一个设置选项卡,我使用不同的外观(更多iPhone看),黑色半透明甚至没有生效.我从一个以编程方式构建的视图开始,它显示一个灰色状态栏:
钻取到nib支持的视图,它们看起来一样:
并且这些视图被布置为好像它是一个灰色状态栏,下降20像素(在IB中它们被设置为黑色半透明,所以我将它们放置了20像素更高)
我已尝试以编程方式设置状态栏样式以及app plist条目,但它没有任何效果(在任何这些选项卡上).
几个星期以来,我一直在研究这个问题(Google,stackoverflow,apple.com).但没有发现我应该做什么的迹象.
ETA: wantsFullScreenLayout
解决了其中一个问题,所以我将其标记为已解决.我已经针对最初提出的两个问题中的一个问题更新了一个新问题,包括新的图片,描述等以及更适用的标题,因为问题不是uistatusbar本身.新问题出现了
新问题
"我的理解是,当设置它时,所有视图的布局将从0,0而不是0,20开始,就像你有一个不透明的状态栏一样."
你是在哪里拿到的?应用程序窗口的框架将保持原样,默认情况下它位于(0,0)并且它将保留在那里 - 它不关心状态栏的外观.
现在视图控制器的视图是另一回事.默认情况下,它们的框架被设置为(换句话说,屏幕的边界减去状态栏占用的区域)的applicationFrame
属性UIScreen
.这就是为什么你不能让背景颜色显示在半透明状态栏后面.
尝试将构成标签栏的每个视图控制器的wantsFullScreenLayout
属性设置为YES.它会根据您的需要将帧提升到(0,0).
归档时间: |
|
查看次数: |
2147 次 |
最近记录: |