在iOS 7 UIStatusBar中,它的设计方式与视图合并如下:
(由TinaTavčar设计的GUI )
这很酷,但是当你在视图的顶部有一些东西时它会使你的视图陷入混乱,并且它会与状态栏重叠.
是否有一个简单的解决方案(例如在info.plist中设置属性)可以改变它的工作方式[不重叠]回到它在iOS6中的状态?
我知道一个更直接的解决方案是self.view.center.x为每个视图控制器提供+ 20个点,但是更改它们会使其他尺寸self.view.center.x变得更大(有不同可能导致自定义segue等问题)并且突然变成一个单调乏味的工作最好避免.
如果有人能为我提供单线解决方案,我真的很高兴.
PS我知道我可以通过做某事来隐藏状态栏
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
Run Code Online (Sandbox Code Playgroud)
在didFinishLaunchingWithOptions方法中,但这是一个解决方法,一个避免问题的捷径,所以我不认为这是一个真正的解决方案.
我目前的应用程序在iOS 5和6上运行.
导航栏为橙色,状态栏为黑色背景颜色,白色为文本颜色.但是,当我在iOS 7上运行相同的应用程序时,我发现状态栏看起来是透明的,具有与导航栏相同的橙色背景颜色,状态栏文本颜色为黑色.
由于这个原因,我无法区分状态栏和导航栏.
如何使状态栏看起来与iOS 5和6中的状态相同,即黑色背景颜色和白色文本颜色?我该如何以编程方式执行此操作?
我试图隐藏状态栏但保持"更大"的导航栏高度.现在,当我通过设置然后调用- (BOOL)prefersStatusBarHidden来隐藏状态栏时.这样做的问题是导航栏会向上滑动,不会为我试图显示的通知留出空间.只是在状态栏上添加视图不是一个选项,我们的状态栏/导航具有花哨的模糊效果.有没有人知道如何使用状态栏高度维护标准导航栏高度并从中删除状态栏?YES[self setNeedsStatusBarAppearanceUpdate];
编辑; 我最终做的是冒险并通过私有API获取状态栏的UIWindow并抵消它.
编辑2; 应用程序已获得私有API批准.但要小心!
在某些UIViewController,UINavigationBar隐藏在状态栏下。这是屏幕截图:
但是当我更改View controller-based status bar appearance为YESthen 时UINavigationBar看起来很完美。这是屏幕截图:
但在这种情况下,textColorofstatus bar会从白色变为黑色。我想要状态栏的白色文本颜色,并UINavigationBar从状态栏中取消隐藏。有没有办法解决它(状态栏的白色和取消隐藏UINavigationBar)。
提前致谢!