iOS状态栏因照片框架变黑
我的应用程序始终使用白色状态栏文本。我通过以下多种设置完成了这一点: 1/在Info.plist I中:将基于控制器的状态栏外观设置为“否” 2/In-iOS状态栏因照片框架变黑,ios,objective-c,xcode,Ios,Objective C,Xcode,我的应用程序始终使用白色状态栏文本。我通过以下多种设置完成了这一点: 1/在Info.plist I中:将基于控制器的状态栏外观设置为“否” 2/In-(BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项I设置[[UIApplication sharedApplication]设置状态栏样式:UIStatusBarStyleLightContent] 3/我在这里询问的VC中实现了以下功能: - (UIStatusBarStyl
(BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项
I设置[[UIApplication sharedApplication]设置状态栏样式:UIStatusBarStyleLightContent]
3/我在这里询问的VC中实现了以下功能:
- (UIStatusBarStyle) preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
4/在故事板中,我将导航栏样式设置为“黑色”
因此,有很多不同的方法来确保一个简单的状态栏保持白色文本。除了用户去图片库或用户去拍照外,这一功能始终有效。这当然启动了使用黑色状态栏的苹果框架。这对那些控制器来说是好的,因为它们又是由苹果公司决定的。但是,当用户随后取消或选择图像并返回到我的控制器时,状态栏将保持黑色。当它返回时,我尝试了以下操作:[self-setNeedsStatusBarAppearanceUpdate]
,但这也不起作用
如何让状态栏在从Apple控制的photo picker视图返回后返回白色文本?我使用的是iOS 8,尽管检查表明7.1中也出现了同样的问题。模拟器和真实设备都会发生这种情况 我想它会像解决我的问题一样解决你的问题 编写
UIImagePicker
及其委托的代码,添加willShowViewController
方法,该方法是UINavigationController
的委托。
将状态栏样式设置为LightContent
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated {
if (([navigationController isKindOfClass:[UIImagePickerController class]] &&
(((UIImagePickerController *)navigationController).sourceType == UIImagePickerControllerSourceTypeCamera)) || (((UIImagePickerController *)navigationController).sourceType == UIImagePickerControllerSourceTypePhotoLibrary))
{
[[UIApplication sharedApplication] setStatusBarHidden:NO];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}
}
我找到了答案,就是在VC中重复我在上面步骤2中所做的,图像选择器返回到VC中。因此,我将在视图中执行:
[[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent]代码>再次。为了让状态栏保持白色,似乎有很多不同的方法,但现在在任何情况下都是如此 谢谢你的建议。我确实找到了一个更简单的解决方案。我会把它寄出去。