我的应用中有以下层次结构:
UITabBarController (rootviewcontroller)
- >自定义UINavigationController --> View1 (UIViewController)
更新到iOS9
后,最初在应用启动时,视图1会在状态栏下方移动一点,如下所示:
此外,默认情况下不会调用viewwillappear
。自定义导航栏委托方法在自定义类中使用,任何地方都不使用其他委托。我还使用RXCustomTabar
作为rootview。救命啊!
答案 0 :(得分:0)
按照以下步骤
1.在yourproject - info.plist
中 Status bar is initially hidden Boolean YES
2.之后您需要做的是在AppDelegate.m的didFinishLaunchingWithOptions中
[UIApplication sharedApplication].statusBarHidden=NO;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
{
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
[application setStatusBarHidden:NO];
self.window.clipsToBounds=YES;
self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
}
else
{
self.window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
[application setStatusBarHidden:NO];
self.window.clipsToBounds=YES;
self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
}
如果您按照上述步骤操作,则无需在每个视图控制器的viewWillAppear中编写代码。