UIViewController手动修改状态文字颜色

老规矩先上图

1.gif

之前开发iPad的时候在ViewController设置 设置了preferredStatusBarStyle能有效的修改每个页面的状态栏颜色。但是在iPhone开发中单独设置preferredStatusBarStyle并不起作用。
以下是主要做法:
自定义UINavigationController,并且重写以下代码:

- (UIViewController *)childViewControllerForStatusBarStyle{
    return self.topViewController;
}

然后在每个控制器中重写以下代码即可以修改单个控制器的状态栏颜色

- (UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleDefault;
}

你可能感兴趣的:(UIViewController手动修改状态文字颜色)