我的应用始终使用白色状态栏文本。我通过以下众多设置完成了此操作:
1/在 Info.plist 中我设置:View controller-based status bar appearance to "NO"
2/在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
我设置了[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]
;
3/我在此处询问的 VC 中实现了以下内容:
- (UIStatusBarStyle) preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
4/在 Storyboard 中,我将导航栏样式设置为“黑色”
因此,有很多不同的方法可以确保简单的状态栏保持白色文本。除了用户去图片库或用户去拍照外,这一直有效。这当然会启动使用黑色状态栏的 Apple 框架。这对那些 Controller 来说很好,因为它们再次由 Apple 决定。但是,当用户随后取消或选择图像并返回到我的 Controller 时,状态栏保持黑色。当它返回时,我尝试了以下操作:[self setNeedsStatusBarAppearanceUpdate]
但这也不起作用。
从 Apple 控制的照片选择器 View 返回后,如何让状态栏返回白色文本?我正在使用 iOS 8,尽管检查显示 7.1 中也出现了同样的问题。模拟器和真实设备都会发生这种情况。
最佳答案
我找到了答案,即在图像选择器返回的 VC 中重复我在上面的步骤 2 中所做的事情。所以在 viewWillAppear 中,我再次执行:[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
。似乎有很多不同的方法可以让状态栏保持白色,但现在它在所有情况下都可以。
关于Photo Framework 将 iOS 状态栏变黑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27552682/