iOS状态栏因照片框架变黑

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

我的应用程序始终使用白色状态栏文本。我通过以下多种设置完成了这一点:

1/在Info.plist I中:将基于控制器的状态栏外观设置为“否”

2/In-
(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]再次。为了让状态栏保持白色,似乎有很多不同的方法,但现在在任何情况下都是如此

谢谢你的建议。我确实找到了一个更简单的解决方案。我会把它寄出去。