然而,任何通过presentViewController推送到不在我的Storyboard中的nib都会自动更改UIStatusBarStyle - 这是我的推送代码:
NSString *url = @"https://twitter.com/Example";
NSString *title = @"Example";
SocialWebViewController *addController = [[[SocialWebViewController alloc] initWithURL:url title:title] initWithNibName:@"SocialWebView_iPhone" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addController];
[self presentViewController:navigationController animated:YES completion:nil];
我已经在我的AppDelegate中设置了UIStatusBar的首选样式,这个方法是有效的,但仅适用于我的StoryBoard中的ViewControllers:
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
是的,我已经尝试过以下方法:
(1) [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
(2) [self setNeedsStatusBarAppearanceUpdate];
(3) 在plist中将UIViewControllerBasedStatusBarAppearance设置为YES
但以上方法都不能解决没有在我的StoryBoard中的Xib文件的问题。
我找到了原因 - 当我将UIViewControllerBasedStatusBarAppearance设置为“NO”时,在应用程序启动期间我的状态栏最初被隐藏,这导致无论何时我都不能显示它... 我该如何解决?