目前我的想法如下:
当现有用户登录其帐户时,它们将从AuthVC-> MainVC中获取。
如果用户需要注册,则可以从AuthVC-> RegisterVC进入。重新注册后,它们被带到MainVC。
我想要的是在用户注册时在MainVC之上显示另一个VC。因此,它们来自ReigsterVC-> MainVC,但是在与ManVC交互之前,新的VC将在顶部弹出以显示欢迎消息。
这个额外的VC将显示欢迎消息并解释应用程序等。

问题是我不确定我将如何实际使用segue进行此操作。.我在思考“如果从Registervc中进行segue = true,然后显示WelcomeMessageVC”或类似的内容...

我想到的另一个想法是将欢迎消息放在MainVC上,但除非与RegisterVC隔离,否则将其隐藏-尽管我想避免这种想法,因为我已经设计并创建了所有vc,而WelcomeMessageVC是一个单独的VC。
最好/最简单的方法是什么?

另一个想法-是否可以通过使用Firebase Auth来做到这一点,例如一条if语句,说明是否刚刚创建了用户,则显示WelcomeMessageVC,而现有用户是否显示MainVC?
谢谢,
杰里米

最佳答案

创建您的欢迎视图控制器。在情节提要上创建一个segue并命名。

在用户默认值中存储一个布尔值,以跟踪此人是否看到了欢迎屏幕。

在您的视图控制器viewWillAppear中:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear( animated )
    showWelcome()
}


func showWelcome() {
    var wasHereBefore = UserDefaults.standard.bool(forKey: "wasHereBefore")

    // Do we have a value?
    if wasHereBefore == nil {
        wasHereBefore = false
    }
    if wasHereBefore == false {
        // Store the value so this only happens once
        UserDefaults.standard.set(true, forKey: "wasHereBefore")
        performSegue(withIdentifier: "WelcomeSegue", sender: self)
    }
}

关于ios - 呈现多个View Controller的最佳方法? swift 4,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45775783/

10-09 15:34