【问题标题】:When my app returns from gallery, it has the navbar's standard colors当我的应用程序从图库返回时,它具有导航栏的标准颜色
【发布时间】:2025-12-25 13:10:06
【问题描述】:

我的应用程序有一个自定义的深色导航栏,并在方法 Application 我把代码:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

但是当我从图库 iOS 的图像选择器回来时,我会重新使用黑色并在所有应用程序中使用它。 为什么?

【问题讨论】:

  • 在 viewWillAppear 中写入这一行。

标签: ios iphone statusbar


【解决方案1】:

你好用这个方法可以管理导航栏

 - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
    {

        [viewController.navigationItem setTitle:@"Videos"];
        [viewController.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
        [viewController.navigationItem.leftBarButtonItem setTintColor:[UIColor whiteColor]];
        [viewController.navigationItem.rightBarButtonItem setTintColor:[UIColor whiteColor]];

        if ([navigationController isKindOfClass:[UIImagePickerController class]]) {
            [[UIApplication sharedApplication] setStatusBarHidden:NO];
            [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];
        }
    }

谢谢

【讨论】:

  • 我在哪里实现这个方法?
  • 您可以在您面临导航栏问题的视图控制器中实现它。谢谢
  • UIImagePickerController 做了一些奇怪的事情——在我的情况下,它破坏了状态栏样式,所以我们需要在图像选择器之后恢复它
  • 嗨使用这个 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];您可以设置您需要的StatusBarStyle 属性。
最近更新 更多