Iphone 如何将“条款和条件”视图添加到我的应用程序中,使其仅在第一次可见

Iphone 如何将“条款和条件”视图添加到我的应用程序中,使其仅在第一次可见,iphone,xcode,uiview,Iphone,Xcode,Uiview,在我的应用程序中,我有一个条款和条件视图,描述当用户选择同意他将进入登录页面时要使用的条款。否则,当应用程序在其手机中启动时,用户必须在第一时间看到该视图,之后必须以登录视图启动 我怎样才能做到这一点。。。 您可以使用NSUserDefaults来完成此操作 在applicationdFinishLaunching方法中,查找是否存在放置在NSUserDefaults中的BOOL键。如果不存在,请运行代码以显示条款和条件,然后在NSUserDefaults中将该变量设置为true,以便下次启动时

在我的应用程序中,我有一个条款和条件视图,描述当用户选择同意他将进入登录页面时要使用的条款。否则,当应用程序在其手机中启动时,用户必须在第一时间看到该视图,之后必须以登录视图启动

我怎样才能做到这一点。。。
您可以使用
NSUserDefaults
来完成此操作


applicationdFinishLaunching
方法中,查找是否存在放置在
NSUserDefaults
中的
BOOL
键。如果不存在,请运行代码以显示条款和条件,然后在
NSUserDefaults
中将该变量设置为true,以便下次启动时它确实存在。

您可以在
NSUserDefaults
上使用标志。在您的
应用程序IDFinishLaunch
上,您将检查标志,如果不存在,则显示免责声明并更新标志

代码与此类似:

BOOL disclaimerAccepted = [[NSUserDefaults standardUserDefaults] boolForKey:@"disclaimerAccepted"];
if (!disclaimerAccepted) {
    [window addSubview:disclaimerView];
    [[NSUserDefaults standardUserDefaults] synchronize];
}
当用户单击“接受”按钮时,可以按如下方式更新设置:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"disclaimerAccepted"];

正如@mvds在评论中所建议的,最好存储一个数字或字符串,而不是包含应用程序版本号的bool值。这样,您可以在更新应用程序时强制用户重新接受条款和条件。

在应用程序启动时,使用NSUserDefaults检查是否存在您选择的名称的用户设置(例如firstRunFinished或userAgrredToTerms)。如果该设置存在且值为真(或是),则正常进行。如果设置丢失或存在,但值为false(或NO),请将您的条款和条件视图作为模式视图推到主控制器视图堆栈的顶部。

我是iphone开发新手,因此您能告诉我有关用户默认值的实际情况吗,他应该首先显示“条款和条件”视图,并等待用户同意后再设置值。否则,简单关闭应用程序(由于来电)可能会被应用程序视为接受,因为在下一次运行时,该值将在那里。由于这是条款和条件,该标志应在用户单击“接受”按钮后更新,也不应在显示视图后立即更新。我不会将其设置为BOOL,而是一个整数或字符串,设置已接受的免责声明的版本。更新应用程序时,可能需要更新免责声明。由于保留了设置,否则每次出现混乱时都必须使用不同的键。我想在用户按下accept按钮时显示下一个视图已准备就绪如何使用ns user Defaults保存整数您有办法让用户在以后查看条款和条件,对吗?如果你同意一份复杂的合同,而没有一个好的方式在以后查阅它,那会很烦人。这个问题涉及如何检测第一次发射,但没有描述如何在那一点上显示视图:谢谢Larson,这个链接帮助我解决了我的问题。。