Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 当Appdelegate中未设置rootcontroller时,视图隐藏在状态栏后面_Ios_Swift_Uiview_Uinavigationbar_Uistatusbar - Fatal编程技术网

Ios 当Appdelegate中未设置rootcontroller时,视图隐藏在状态栏后面

Ios 当Appdelegate中未设置rootcontroller时,视图隐藏在状态栏后面,ios,swift,uiview,uinavigationbar,uistatusbar,Ios,Swift,Uiview,Uinavigationbar,Uistatusbar,在my AppDelegate.swift中,我检查用户是否已登录 if let currentUser = Auth.auth().currentUser{ self.window?.rootViewController = self.storyboard?.instantiateViewController(withIdentifier: "HomeScreen") }else{ self.window?.rootViewController = self.storyboar

在my AppDelegate.swift中,我检查用户是否已登录

if let currentUser = Auth.auth().currentUser{
    self.window?.rootViewController = self.storyboard?.instantiateViewController(withIdentifier: "HomeScreen")
}else{
    self.window?.rootViewController = self.storyboard?.instantiateViewController(withIdentifier: "LoginScreen")
}
如果用户没有登录,他们将被重定向到LoginScreen,在那里他们可以登录,然后我将显示如下主屏幕

UIApplication.shared.keyWindow?.window?.rootViewController = self.storyboard?.instantiateViewController(withIdentifier: "HomeScreen")
我的主屏幕是一个NavigationController,它将重定向到一个ViewController,我在那里添加我的视图,如下所示:

UIApplication.shared.keyWindow?.addSubview(newView!)
当我的应用程序从AppDelegate直接运行到我的主屏幕时,newView将显示在我的状态栏上方,就像它应该显示的那样。如果在用户从LoginScreen登录后显示主屏幕,则状态栏后面将显示newView

在第二种情况下,使我的视图显示在状态栏下方的问题是什么

编辑:我还可以补充一点,newView是一种滑动手势来显示它


为什么要将新视图直接添加到窗口中?为什么不将其设置为viewcontroller的根视图?对于状态栏,您是指带有WiFi强度和电池指示符号的小条吗?如果不是,发布这两种情况的(部分)屏幕截图会是一种选择吗?@andlin这将导致视图同时位于状态栏和导航栏后面。@ReinSpijkerman确实,这正是我的意思。我希望新的在状态栏上方。没问题。很高兴你找到了解决办法!