Ios Swift:弹出窗口和视图显示等
我是一个新手Swift程序员,希望在加载应用程序时(如果可能,甚至在显示主视图之前)立即弹出一个弹出窗口(在单独的视图/视图控制器中) 我使用下面的代码弹出Ios Swift:弹出窗口和视图显示等,ios,swift,uiviewcontroller,popup,Ios,Swift,Uiviewcontroller,Popup,我是一个新手Swift程序员,希望在加载应用程序时(如果可能,甚至在显示主视图之前)立即弹出一个弹出窗口(在单独的视图/视图控制器中) 我使用下面的代码弹出 if let vc = storyboard?.instantiateViewController(withIdentifier: "PasswordPopUp") as? PasswordPopUp { vc.modalPresentationStyle = .overCurrentContext present(vc,
if let vc = storyboard?.instantiateViewController(withIdentifier: "PasswordPopUp") as? PasswordPopUp {
vc.modalPresentationStyle = .overCurrentContext
present(vc, animated: true, completion: {
//self.cleanP2action()
})
} else {
print("error creating PasswordPopUp")
}
例如,如果我通过单击一个按钮来使用它,它就可以正常工作。但我希望它能自动发生。当我将代码添加到viewDidLoad时,我得到一个错误消息
警告:试图在上显示
其视图不在
窗口层次结构
我试着把它放在ViewDidEmbeen中,但它似乎没有被调用。以下是主视图控制器的要点:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
有什么问题以及如何修复?首先,您不能在
viewDidLoad
方法中显示或弹出另一个视图。我认为错误信息非常清楚。尝试在父VC完成之前显示。但它应该在父视图的viewdide
方法中工作。你所说的“似乎没有被调用”是指ViewDidDisplay中的代码没有执行。如果你希望它发生在主视图之外,那么你应该考虑将代码包含在AppDelegate中,但是你需要在执行之前显示一些内容,因为没有任何类型的“主”视图,你的应用程序无法运行。此外,ViewDidAspect应该正在执行,因此那里的代码中一定存在某种错误。ViewDidAspect无法运行的常见错误/原因是什么?只是一个想法,但听起来您需要一个登录屏幕。为什么不将初始视图控制器作为登录屏幕,然后从那里切换到主屏幕?