StatusBarBackgroundColor在ios不生效 , 調用原生ios方法設置狀態欄顏色

// 設置狀態欄顏色
- (void)setStatusBarBackgroundColor:(UIColor *)color {
    
    UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
    if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
        statusBar.backgroundColor = color;
    }
}

// !!!重點在viewWillAppear方法裏調用下面兩個方法(看情況,可以在viewDidLoad中調用)
-(void)viewWillAppear:(BOOL)animated{
    // 設置狀態欄顏色
    [self setStatusBarBackgroundColor:[UIColor colorWithRed:21/255.0 green:21/255.0 blue:21/255.0 alpha:1.0]];
    // 設置狀態欄字體顏色白色(UIStatusBarStyleDefault是黑色)
    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
}
--->!!!同時別忘了在info plist裏面將View controller-based status bar appearance設置成NO(默認是YES)

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor yellowColor];
  }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章