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