在 swift 中显示一次教程视图控制器
Show tutorial view controller ONCE in swift
我对编程还很陌生,并且很难在用户打开应用程序时以编程方式仅显示一次“教程”视图控制器。
我在此处参考了之前的问题以获取代码,但它似乎不适用于我的应用程序。
从下面的这些图片中,您可以看到我的故事板的设置和我的 didFinishLaunchingWithOptions 函数代码。
此外,我尝试在每次启动应用程序时以编程方式加载我的教程视图控制器(因此我删除了用户默认代码),但这也不起作用。当我这样做时,我只是得到一个黑屏。
我的代码中是否遗漏了某些内容,或者是否缺少需要检查的设置?
我正在使用 Xcode Ver 11.5 和 swift 5.
使用的代码:
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
let defaults = UserDefaults.standard
if defaults.object(forKey: "FirstTime") == nil {
defaults.set("No", forKey:"FirstTime")
defaults.synchronize()
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "TutorialViewController") as! TutorialViewController
window?.rootViewController = viewController
window?.makeKeyAndVisible()
}
storyboard
appDelegateCode
不太确定这是否是您想要的。
if let windowScene = scene as? UIWindowScene {
let window = UIWindow(windowScene: windowScene)
let defaults = UserDefaults.standard
if defaults.object(forKey: "FirstTime") == nil {
defaults.set("No", forKey:"FirstTime")
window.rootViewController = TutorialViewController()
} else {
window.rootViewController = OtherViewController()
}
self.window = window
window.makeKeyAndVisible()
}
我对编程还很陌生,并且很难在用户打开应用程序时以编程方式仅显示一次“教程”视图控制器。
我在此处参考了之前的问题以获取代码,但它似乎不适用于我的应用程序。 从下面的这些图片中,您可以看到我的故事板的设置和我的 didFinishLaunchingWithOptions 函数代码。
此外,我尝试在每次启动应用程序时以编程方式加载我的教程视图控制器(因此我删除了用户默认代码),但这也不起作用。当我这样做时,我只是得到一个黑屏。
我的代码中是否遗漏了某些内容,或者是否缺少需要检查的设置? 我正在使用 Xcode Ver 11.5 和 swift 5.
使用的代码:
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
let defaults = UserDefaults.standard
if defaults.object(forKey: "FirstTime") == nil {
defaults.set("No", forKey:"FirstTime")
defaults.synchronize()
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "TutorialViewController") as! TutorialViewController
window?.rootViewController = viewController
window?.makeKeyAndVisible()
}
storyboard
appDelegateCode
不太确定这是否是您想要的。
if let windowScene = scene as? UIWindowScene {
let window = UIWindow(windowScene: windowScene)
let defaults = UserDefaults.standard
if defaults.object(forKey: "FirstTime") == nil {
defaults.set("No", forKey:"FirstTime")
window.rootViewController = TutorialViewController()
} else {
window.rootViewController = OtherViewController()
}
self.window = window
window.makeKeyAndVisible()
}