繁体   English   中英

如何使视图控制器仅在用户第一次快速打开应用程序时出现

[英]How to make a view controller only appear the first time a user opens the app in swift

我有两个问题。

如何检测用户第一次打开我的应用程序的时间。

如何以编程方式更改初始视图控制器,以便在用户第一次打开应用程序时打开“教程”视图控制器,并在用户打开应用程序的所有其他时间打开“主页”视图控制器。

我已经创建了我的故事板,我见过必须删除整个故事板的解决方案,但我不想这样做,因为它会删除我以前的所有工作。 如果有一个不删除整个故事板或删除故事板而不删除视图控制器内的内容的解决方案,那也是可以接受的。

感谢您的任何帮助。

在这种情况下我通常会做什么:

  • 创建看起来像您的启动屏幕的初始屏幕,并在viewDidAppear确定是否应显示其他屏幕上的viewDidAppear
  • 以模态方式呈现此屏幕
  • 使用.plist适合存储一个Bool值,该值表示应用程序是否已启动,或已完成入职

你必须通过代码而不是界面构建器来做到这一点。

您在应用程序委托中执行此操作:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        
        let seenTutorial = UserDefaults.standard.bool(forKey: "SEEN-TUTORIAL")
        let rootViewController = seenTutorial ? UIViewController() : UITutorialViewController()
        let bounds = UIScreen.main.bounds
        self.window = UIWindow(frame: bounds)
        self.window?.rootViewController = rootViewController
        self.window?.makeKeyAndVisible()

        return true
    }

每当您觉得更新它的好地方时,在教程控制器中更新您的 UserDefaults:

UserDefaults.standard.set(true, forKey: "SEEN-TUTORIAL")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM