这是原始问题的延续。部分原始问题已解决,并且有了新的理解,我希望能够重述仍然存在的问题,承认已解决的问题,并提供更多信息并给出更好的标题,因为有了新的理解。
我的应用是基于标签栏的,并且有一个通过主 nib (MainWindow.xib) 创建的 UITabBarController。每个选项卡都引用一个 UINavigationController,再次通过主 nib (MainWindow.xib) 创建,每个 UINavigationController 都有一个在 nib 中创建的根视图控制器。这些 UIViewController 中的每一个都是一个自定义的 VC,它有自己的 nib、类定义等。
应用程序(在应用程序列表中)设置为具有半透明状态栏。这行得通。状态栏是半透明的。前 4 个选项卡在各自的 VC 和last 使用在其各个笔尖中选择的标准背景颜色。
半透明状态栏应覆盖背景图像,因为每个图像当前设置为全尺寸和左上角原点(320w x 480h - 最终将替换为切掉底部标签栏以提高效率和原点 0,0 )。但是,这只发生在第一个选项卡中,以及使用笔尖设置背景颜色/图案的选项卡中。
除了应用程序委托中 rootViewController 的初始设置之外,确实完成了启动方法,
[[self window] setRootViewController:[self tabBarController]];
任何 VC 中都没有布局代码。这一切都在笔尖中定义。(是的,我是老派)
以下是两个有效的:
在第一张图片上,您可以看到背景图片的“白色”轮廓沿着侧面继续向上并穿过状态栏的顶部。在第二个上,您可以看到背景条纹继续向上进入状态栏。
这是无法正常工作的三个选项卡之一:
你可以看到它没有让白色进入状态栏并穿过顶部。而不是蓝色的半透明黑色,它只是黑色。
这是来自 IB 的照片,表明它们的设置完全相同
根标签栏控制器:
第一个选项卡导航控制器和视图控制器(正常工作):
第二个选项卡导航控制器和视图控制器(不能正常工作):
几天来我一直在研究这个并尝试不同的东西,不知道该进一步尝试什么。一切似乎都设置相同,并且视图控制器viewDidLoad
或viewWillAppear:
方法中没有布局或视图更改代码。
如果有任何明显错误(或不那么明显),我将不胜感激。据我所知,它应该可以工作