ios - statusBarStyle 没有改变?

标签 ios cocoa-touch uiview uiviewcontroller uikit

这个问题的要点非常简单。我正在尝试将我的 UIApplication 的 statusBarStyle 设置为 application:didFinishLaunchingWithOptions: 中的 UIStatusBarStyleLightContent:(如下图所示),但由于某种原因,该值不固定。

 NSLog(@"%ld",[[UIApplication sharedApplication]statusBarStyle]); //logs 0
 [[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
 NSLog(@"%ld",[[UIApplication sharedApplication]statusBarStyle]); //logs 0

我对这个问题的唯一猜测是它可能与我对 UIPageViewController 的使用有关,在这种情况下设置为 Root View Controller 。

[self.window setRootViewController:self.pageViewController];

最佳答案

尝试在 plist 中将 UIViewControllerBasedStatusBarAppearance 设置为 NO。

然后在你的 viewController 中..

-(void)viewDidLayoutSubviews
{
    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
        [self setNeedsStatusBarAppearanceUpdate];
    }
}

关于ios - statusBarStyle 没有改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25225088/

相关文章:

iphone - 设置分组 UITableViewCell 的背景颜色

ios - iOS 中 ScrollView 中的可扩展 UIView

ios - ScrollView 中的 Swift 弹出窗口

ios - 无法使用模拟器从 iOS 中的 ImagePicker 获取图像路径和图像?

objective-c - 如何访问父类(super class)实例变量?

iphone - CoreData 中的数据建模(具有许多子项的文件夹和文档等)

ios - 尝试将 UIImageView 设置为 View

ios - UI View 部分滚动 (iOS)

objective-c - 从文本中获取 URL

ios - 加载 View Controller 时如何滚动到特定的 UITableViewCell 顶部到 UITableView 顶部