在Xcode中制作和展示应用教程视图

时间:2017-08-19 14:10:55

标签: ios user-interface

我有一个不直观的应用程序。我想截取令人困惑的屏幕截图,然后使用MSpaint编写指令和涂鸦。当用户第一次在应用程序中打开视图时,我想呈现一系列更改的屏幕截图以及“确定”按钮。按OK将关闭屏幕截图,它将不会再显示。有没有一种有效的方法来做到这一点?我是Swift和Xcode的新手。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

您需要使用NSUserDefaults来保存应用程序的状态(显示或不显示教程) - NSUserDefaults在应用程序运行到设备存储之间保存数据。

然后你需要更改AppDelegate以根据你保存的值更改初始视图控制器 - 如果已经显示教程,它将不再显示。

假设你有一个叫toturialShown的var 将其设置为false,每次运行检查其值以确定是否需要显示教程 当用户点击解除教程按钮时,使用NSUSerDefaults保存此新状态

存储

UserDefaults.standard.set(toturialShown, forKey: "toturialShownKey")

提取

 UserDefaults.standard.bool(forKey: "toturialShownKey")

删除 - 如果您想从存储中完全删除它

UserDefaults.standard.removeObject(forKey: "toturialShownKey")

applicationDidFinishWithOptions函数中的AppDelegate上 (请注意,我没有测试代码)

var vc = ""
    If toturialShown {
           vc = "regularVC"
    } else {
     vc = "toturialVC"
}
let initialViewController = mainStoryboard.instantiateViewController(withIdentifier: vc)
    let initialViewController = mainStoryboard.instantiateViewController(withIdentifier: "LoginSignupVC")

    self.window?.rootViewController = initialViewController
    self.window?.makeKeyAndVisible()

注意1:您需要在故事板中为您的VC添加标识符

注意2:如果您将初始VC(在故事板上)设置为常规VC,您可以更改上面的代码,只有在未显示教程的情况下以编程方式设置初始VC,才会产生稍微优雅的代码