状态栏颜色与导航栏不匹配

时间:2017-01-28 00:02:20

标签: ios statusbar

我有一个视图控制器,我以模态方式呈现。我希望状态栏颜色与导航栏颜色相匹配。

我已将UIViewControllerBasedStatusBarAppearance设置为YES,因为我不希望在整个应用程序中进行此更改。

我正在设置self.navigationController.navigationBar.barTintColor,但这只是更改导航栏颜色。状态栏保持较浅的颜色。

我尝试了setNeedsStatusBarAppearanceUpdate和preferredStatusBarStyle的各种组合,但没有任何效果。

enter image description here

View控件的启动方式如下:

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:searchController];

navigationController.modalPresentationStyle = UIModalPresentationFormSheet;

[self presentViewController:navigationController animated:YES completion:nil];

1 个答案:

答案 0 :(得分:0)

我的步骤如下,检查出错的地方:

  1. 创建2个视图控制器,如下所示,您可以让vc1嵌入导航控制器:
  2. enter image description here

    1. 在vc1中,拖动按钮的操作:
    2. enter image description here

      代码如下:

      - (IBAction)clickAction:(UIButton *)sender {
      
          UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
          ViewController2 *searchController = [sb instantiateViewControllerWithIdentifier:@"ViewController2"];
      
          UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:searchController];
      
          navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
      
          [self presentViewController:navigationController animated:YES completion:nil];
      }
      
      1. 然后在vc2中设置标题:
      2. enter image description here