zoukankan      html  css  js  c++  java
  • 【iOS13问题】修改状态栏的颜色(亲测,有效)

    - (UIStatusBarStyle)preferredStatusBarStyle {
        if (@available(iOS 13.0, *)) {
            return UIStatusBarStyleLightContent;
        } else {
            return UIStatusBarStyleLightContent;
        }
    }
    
    - (void)viewWillDisappear:(BOOL)animated
    {
        [super viewWillDisappear:animated];
        [self setupStatusBarColor:[UIColor whiteColor]];
    }
    
    - (void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
       [self setupStatusBarColor:[UIColor blackColor]];
    }
    
    - (void)setupStatusBarColor:(UIColor *)color
    {
        if (@available(iOS 13.0, *)) {
              if (!_statusBar) {
                  UIWindow *keyWindow = [UIApplication sharedApplication].windows[0];
                  _statusBar = [[UIView alloc] initWithFrame:keyWindow.windowScene.statusBarManager.statusBarFrame];
                  [keyWindow addSubview:_statusBar];
              }
          } else {
            _statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
         }
          if ([_statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
              _statusBar.backgroundColor = color;
          }
    }
    
    - (void)dealloc{
        NSLog(@" dealloc  ");
        if (@available(ios 13.0, *)) {
            if (_statusBar) {
                [_statusBar removeFromSuperview];
                _statusBar = nil;
            }
        }
    }
  • 相关阅读:
    day39
    day36
    day35
    day34
    深入理解css的margin
    git使用
    java常见的分页实现方式
    jquery常识
    与border不得不说的故事
    测试效果
  • 原文地址:https://www.cnblogs.com/xjf125/p/11974100.html
Copyright © 2011-2022 走看看