我尝试了SO的几个解决方案来解决这个问题但是没有一个能为我工作.我用一个简单的视图创建了一个新的iOS7项目.我尝试过设置
View controller-based status bar appearance to NO
Run Code Online (Sandbox Code Playgroud)
在AppDelegate中:
[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];
Run Code Online (Sandbox Code Playgroud)
但是,这会完全删除状态栏.
如果没有基于View控制器的状态栏外观选项,无论我在plist文件中为状态栏样式设置什么,状态栏文本仍然是黑色.我需要它为整个应用程序是白色的.这可能吗?
我是最新的xcode版本.
Obj*_*ift 38
没有"动画:否"你试过吗?
转到项目目标的信息选项卡,添加行:
UIViewControllerBasedStatusBarAppearance,设置值NO
然后在appdelegate.m
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
[application setStatusBarStyle:UIStatusBarStyleLightContent];
}
Run Code Online (Sandbox Code Playgroud)
这应该在应用程序范围内设置.
smi*_*t04 27
接受的答案似乎有时有效.我发现UIViewController也可以改变状态栏样式.为了解决这个问题,总是工作,因为我并不需要UIViewControllers控制状态栏,我不得不设置UIViewControllerBasedStatusBarAppearance
到NO
我Info.plist
Log*_*gan 21
使用needsStatusBarAppearanceUpdate
在更新状态栏viewDidLoad:
视图控制器的方法
[self setNeedsStatusBarAppearanceUpdate];
Run Code Online (Sandbox Code Playgroud)
现在将以下方法添加到视图控制器:
- (UIStatusBarStyle) preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
Run Code Online (Sandbox Code Playgroud)