【问题标题】:iOS Status bar turned black by Photo FrameworkiOS 状态栏被 Photo Framework 变黑
【发布时间】:2014-12-18 17:48:47
【问题描述】:

我的应用始终使用白色状态栏文本。我通过以下众多设置完成了这项工作:

1/ 在 Info.plist 中我设置:查看基于控制器的状态栏外观为“NO”

2/在-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions我设置[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

3/ 我在此处询问的 VC 中实现了以下内容:

 - (UIStatusBarStyle) preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
}

4/ 在 Storyboard 中,我将导航栏样式设置为“黑色”

因此,有很多不同的方法可以确保简单的状态栏保持白色文本。除了用户去图片库或用户去拍照时,这一直有效。这当然会启动使用黑色状态栏的 Apple 框架。这对那些控制器来说很好,因为它们再次由 Apple 决定。但是,当用户随后取消或选择图像并返回到我的控制器时,状态栏保持黑色。我在它返回时尝试了以下操作:[self setNeedsStatusBarAppearanceUpdate] 但这也不起作用。

如何让状态栏在从 Apple 控制的照片选择器视图返回后恢复为白色文本?我正在使用 iOS 8,尽管检查显示在 7.1 中也出现了同样的问题。模拟器和真实设备都会发生这种情况。

【问题讨论】:

    标签: ios objective-c xcode


    【解决方案1】:

    我找到了答案,即在图像选择器返回的 VC 中重复我在上面的步骤 2 中所做的事情。所以在 viewWillAppear 我再次执行:[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];。似乎有很多不同的方法只是为了让状态栏保持白色,但现在在所有情况下都可以。

    【讨论】:

      【解决方案2】:

      我想它会解决你的问题,因为它解决了我的问题 编写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];
      
          }
      }
      

      【讨论】:

      • 感谢您的建议。实际上,我确实找到了一个更简单的解决方案。我会发布它。
      猜你喜欢
      • 2015-01-15
      • 2014-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多