首页 > 解决方案 > Swift:下拉时屏幕消失 - 不应该

问题描述

我更新到 Swift 5,现在每当我打开我的应用程序时,主屏幕都会出现某种弹出窗口,当你向下滑动时,它会关闭并显示一个空白屏幕,从而弄乱应用程序。关于如何解决这个问题的任何想法?我什至不知道从哪里开始寻找。

这是屏幕的图像:

在此处输入图像描述

对于后面的空白屏幕,这是我用来确定应该在顶部的屏幕的代码。如前所述,在以前的版本中,屏幕永远不会显示为可以下拉的东西

class MainNavigationController: UINavigationController {

override func viewDidLoad() {
    //Sets the background to Indexed Green.
    view.backgroundColor = Colors.indexedPrimary

    //Checks to see if the user is logged in.
    if isLoggedIn() {
        perform(#selector(showApp), with: nil, afterDelay: 0.01)
    } else {
        //Show the logInController if the user isn't logged in already/
        //The missing piece.
        perform(#selector(showLogInController), with: nil, afterDelay: 0.01)
    }
}


//LoggedIn Function
fileprivate func isLoggedIn() -> Bool{
   return UserDefaults.standard.isLoggedIn()
}


//Shows the app if the user is logged in.
@objc func showApp(){
    let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let vc: UITabBarController = storyboard.instantiateViewController(withIdentifier: "TabBarController") as! UITabBarController
    self.present(vc, animated: true, completion: nil)
}


//Show the loginController if the user isn't logged in already.
@objc func showLogInController(){
    let loginScreen: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let viewcontrol: UIViewController = loginScreen.instantiateViewController(withIdentifier: "NewUsersScreenViewController") as UIViewController
    self.present(viewcontrol, animated: true, completion: nil)
}

}

标签: iosswiftxcode

解决方案


推荐阅读