Objective c 在iOS中仅显示一次应用程序演示的UIView

Objective c 在iOS中仅显示一次应用程序演示的UIView,objective-c,iphone,ios7,uikit,Objective C,Iphone,Ios7,Uikit,我需要显示一个UIScrollView,其中包含一些页面,以便在首次启动时向用户展示应用程序。我的幻灯片工作正常,没有逻辑来呈现它。将UIScrollViewController设置为根控制器并设置NSUserDefault变量以控制演示文稿并重定向到主控制器,或者将主ViewController设置为根控制器并在需要时调用演示文稿视图,这是一种较好的做法吗?如果有更好的方法,有人能帮忙吗?谢谢。应用程序的默认行为是不显示介绍幻灯片。它们仅在您第一次启动时显示 为了做出展示这些幻灯片的决定,您需

我需要显示一个UIScrollView,其中包含一些页面,以便在首次启动时向用户展示应用程序。我的幻灯片工作正常,没有逻辑来呈现它。将UIScrollViewController设置为根控制器并设置NSUserDefault变量以控制演示文稿并重定向到主控制器,或者将主ViewController设置为根控制器并在需要时调用演示文稿视图,这是一种较好的做法吗?如果有更好的方法,有人能帮忙吗?谢谢。

应用程序的默认行为是不显示介绍幻灯片。它们仅在您第一次启动时显示

为了做出展示这些幻灯片的决定,您需要提出以下问题

这是应用程序第一次启动吗

这个问题应该属于哪里? 如果您将它放在简介视图控制器中,您将无法从应用程序中其他位置的按钮(即按钮
教程
或其他内容)显示它。
通过将表示逻辑置于视图控制器之外,您只需让它负责管理其内容,并更好地分离关注点

反例
如果您有一个登录视图控制器,它负责登录用户。考虑这种行为的一种方式是用户登录一次,然后每次我都想跳过这个视图控制器,因此呈现它的逻辑应该属于另一个视图控制器。但在这种情况下,登录可能会对应用程序的其余部分产生影响(例如,设置网络库的
授权
标题)。在这种情况下,我会将其设置为应用程序的第一个视图控制器,但如果用户默认设置中存储了auth令牌,则跳过UI,因此遵循前面的建议。此外,在导航控制器的上下文中,将此视图控制器作为根控制器是有意义的,因为如果用户需要注销(或会话令牌过期),您可以轻松地将主视图设置为默认视图,由于99.99%的时间都是这样使用的。使用NSUserDefault设置布尔值如果显示,可能是didShowFirstRun。然后在主控制器中,检查NSUserDefault的值是多少,并显示它是nil还是false

在应用程序didFinishLaunchingWithOptions中的AppDelegate中,您可以检查didShowFirstRun是否为零,并将默认值设置为否

不要围绕应用程序工作流的异常进行设计,显示首次运行将是异常


我有一个应用程序,在显示登录视图后,它会检查首次运行并显示入门屏幕,然后在完成后,设置NSUserDefault变量,我就完成了。

当用户第一次进入应用程序时,您的ScrollViewController会是第一个显示的ViewController吗?