2017-08-19 23 views
0

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

回答

0

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

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

假设你有变种称为toturialShown 它设置为false,每次运行检查它的价值,以确定是否教程需要显示 当用户点击解雇教程按钮使用NSUserDefaults的保存这个新的状态

商店

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

检索

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

[R EMOVE - 如果你想从存储

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

在AppDelegate中在applicationDidFinishWithOptions功能 (请注意,我没有测试的代码)

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完全删除它:你需要添加标识注意2:如果您将初始VC(在故事板上)设置为常规VC,那么您可以更改上面的代码以仅通过编程方式设置初始VC,前提是该教程未显示,结果为微微多一点 优雅的代码

+0

这段代码将首次打开应用程序时立即启动教程?我想只在展示某些视图控制器时启动教程。 – Sente

+0

这将在2个VC之间切换 - 如果教程显示,将显示常规VC,如果这是第一次应用程序运行它会显示教程VC –

+0

当我解雇教程时,我必须继续到正常的VC? – Sente

相关问题