RootVc:


PushVc:


如何实现这种效果?

如何更改状态栏的背景颜色而不更改导航栏的背景颜色?

最佳答案

将此方法添加到您的每个viewcontroller中,或(从category方法中调用)

-(void)status_bar_color
{
      if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
      {
            UIView *addStatusBar = [[UIView alloc] init];
            CGSize result = [[UIScreen mainScreen] bounds].size;
            if(result.height >750)
            {
                  addStatusBar.frame = CGRectMake(0, 0, 800, 23);
            }
            else if(result.height >550)//IPod
            {
                  addStatusBar.frame = CGRectMake(0, 0, 320, 23);
            }
            else
            {
                  addStatusBar.frame = CGRectMake(0, 0, 320, 23);
            }

            addStatusBar.backgroundColor=[UIColor blackColor];
            [self.view addSubview:addStatusBar];
      }
}


对于状态栏的浅色内容,也可以使用此方法,

-(UIStatusBarStyle)preferredStatusBarStyle
{
      return UIStatusBarStyleLightContent;
}


凉..

关于ios - 如何更改状态栏的背景颜色而不更改导航栏的背景颜色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34448225/

10-08 20:52