【问题标题】:View appearing below status bar initially最初出现在状态栏下方的视图
【发布时间】:2015-10-08 09:56:28
【问题描述】:

我的应用中有以下层次结构: UITabBarController (rootviewcontroller) --> 自定义UINavigationController --> View1 (UIViewController)

更新到iOS9后,最初在应用启动时,View 1 会移动到状态栏下方一点,如下所示:

另外,viewwillappear 默认不会被调用。自定义导航栏委托方法在自定义类中使用,在任何地方都没有使用其他委托。我也使用RXCustomTabar 作为根视图。救命!

【问题讨论】:

  • 尝试在 info.plist 上更改它
  • 改变什么?你能告诉我吗

标签: ios uinavigationcontroller ios9 uistatusbar


【解决方案1】:

按照以下步骤进行

1.在你的项目中 - 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中编写代码了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多