【发布时间】:2017-06-24 06:32:35
【问题描述】:
我正在构建一个非常复杂的应用程序,在第一次使用时,我想展示有关如何使用该应用程序某些功能的提示。例如,当您使用 instagram 或 twitter 注册时,有关于如何发布照片、关注用户等的提示和教程。我不是在寻找详细的答案,我只是想知道如何开始使用那。
【问题讨论】:
我正在构建一个非常复杂的应用程序,在第一次使用时,我想展示有关如何使用该应用程序某些功能的提示。例如,当您使用 instagram 或 twitter 注册时,有关于如何发布照片、关注用户等的提示和教程。我不是在寻找详细的答案,我只是想知道如何开始使用那。
【问题讨论】:
第 1 部分:您需要检测用户是否是第一次登录。您可以使用 NSUserDefault 和 this 一样在本地记录此信息,或者如果您有服务器,记录此信息会很棒信息在您的服务器中,这样当用户重新安装应用程序时,他就不会再次看到该说明。
第 2 部分:为了展示教程,我最喜欢的方式是使用单个视图控制器,其中包含图像视图。将视图控制器和图像视图都设置为具有 0.8 的背景透明度,以便用户仍然可以看穿教程图像。然后为图像视图设置一个点击监听器。现在您需要一组图像教程,透明背景和白色文本和图像告诉用户该做什么。将这些图像放入您的主包中。每次需要显示这些图像时,只需通过
将图像名称传递给该视图控制器let vc = YourViewController()
vc.imgList = ["img1", "img2"]
self.present(vc, animated: false, completion: nil)
在你的教程视图控制器的监听器中,当用户点击最后一张图片时,关闭视图控制器
dismiss(animated: true, completion: nil)
您还可以将滚动视图与图像视图一起使用,以便前后滚动。这是github sample code。
【讨论】:
使用 UserDefaults 保存用户信息。
UserDefaults.standard.set("User Welcomed", forKey: "onboarded")
检查应用是否首次安装,如果是则显示覆盖(显示教程),否则不。
if UserDefaults.standard.value(forKey: "onboarded").isEmpty {
//display tutorial
}
【讨论】:
您的问题令人困惑。 你想要什么?
如果您想知道如何引导用户,如果用户是第一次进入您的应用程序,您可以使用图像序列。 (图片的方式是引导用户的最佳方式。)
要检查是否是第一次,请使用任何标签。
【讨论】:
设置一个标志来检查用户是否第一次安装和打开应用程序。 并将标志值保存到 NSUserDefault 并在下次启动时检查标志值并根据您的教程显示。
【讨论】: