首页 > 解决方案 > Swift:弹出窗口和 ViewDidAppear 等

问题描述

我是一个新手 Swift 程序员,希望在加载应用程序时立即弹出一个弹出窗口(在单独的视图/视图控制器中)(如果可能的话,甚至在显示主视图之前)。

我使用以下代码弹出

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 时,我收到一条错误消息

警告:尝试呈现<Mygame.PasswordPopUp: 0x7fbfd2c252f0>不在 <Mygame.ViewController: 0x7fbfd3876000>窗口层次结构中的视图!

我试图将其粘贴在 viewDidAppear 中,但这似乎没有被调用。以下是主视图控制器的要点:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
}

出了什么问题,我该如何解决?

标签: iosswiftuiviewcontrollerpopup

解决方案


推荐阅读