|
1
29
您需要一个全屏显示的ViewController来返回相应的状态栏信息。在您的情况下:包含ModalViewController的NavigationController需要实现
打电话给
|
|
2
25
我们应该注意到非全屏模式VC
罐头
使用
任何想了解更多关于状态栏控件的人都不应该忽视 UIViewController Managing the Status Bar . 2015年11月6日更新:
并确保您已设置
更新时间:2018.04.09:
我注意到导航控制器中的viewController可能无法接到呼叫
任何想深入了解UIKit的人都可以深入了解
|
|
3
11
实现这一点的关键是,只有全屏视图控制器才能决定状态栏的样式。 如果您使用的是导航控制器,并且希望在每个视图控制器的基础上控制状态栏,那么您需要将UINavigationController子类化,并实现preferredStatusBarStyle,以便它返回topViewController的首选项。 确保将故事板场景中的类引用从UINavigationController更改为子类(例如,下面示例中的MyNavigationController)。 (以下对我有效。如果你的应用程序是基于TabBar的,你会想通过子类化UITabBarController来做类似的事情,但我还没有尝试过)。
|
![]() |
4
6
要在不子类化UINavigationController的情况下更改嵌入ViewController的UINavigationControl的状态栏,请使用以下方法:
.Black将使文本变为白色(状态栏和视图的标题),而.Default有一个黑色的标题和状态栏。 |
![]() |
5
2
我有一个侧菜单/显示控制器(SWRevealController),它始终是状态栏查询的根控制器。最重要的
|
![]() |
6
1
这个应用程序似乎偏离了最上面的viewController的statusBarStyle。因此,如果您在当前视图控制器的基础上添加另一个视图控制器,它现在可以从新的视图控制器中获得提示。 |
![]() |
7
1
这对我来说很有效:
希望它能有所帮助(参考: ios7 status bar changing back to black on modal views? ) |
|
8
0
如果你的应用程序 rootViewController需要重写-(UIStatusBarStyle)preferredStatus BarStyle方法 |
|
9
0
以上所有工作。然而,有时我发现去改变故事板中的每个实例真的很痛苦……所以这里有一些对我有用的东西,也涉及到子类化。 首先创建子类:
然后使用Objective-C的魔力和一点<objc/runtime.h> 当您有视图控制器的引用并进行演示时:
有时它看起来不那么侵扰。你甚至可以创建一个类别,检查你的kindOfClass是否是一个导航控制器,并自动为你做这件事。不管怎样,答案在上面,jaetzold,我只是觉得这很方便。 |
![]() |
Tiois · iOS 11隐藏状态栏将我的导航控制器拉到屏幕顶部 7 年前 |
![]() |
Ali H · 如何在Ionic 2中使状态栏颜色可变 7 年前 |
![]() |
Pier · 无法将DrawerLayout置于StatusBar下 9 年前 |