UIViewController 在应用程序启动时呈现一次[关闭]
Posted
技术标签:
【中文标题】UIViewController 在应用程序启动时呈现一次[关闭]【英文标题】:UIViewController presented once when the app launches [closed] 【发布时间】:2013-09-10 09:20:41 【问题描述】:屏幕是应用程序启动时的第一页。用户只能单击接受并继续按钮继续。 此页面最初仅出现一次,当用户单击接受并继续按钮时,此页面不会出现在此应用程序的后续启动中。 只有当用户清除了与此应用程序相关的所有数据时,此页面才会在启动时再次出现。
【问题讨论】:
ok,如果可能,然后删除评论:没问题,只是通知你 【参考方案1】:-
创建一个视图控制器。并且,在应用启动时加载它。
当用户点击“接受并继续”时,继续在 Plist 中保存一个 BOOL 值,NSUserDefault。
下次加载应用时检查此值并根据您保存的 BOOL 值显示屏幕。
当用户清除数据后执行同样的操作。
【讨论】:
【参考方案2】:你可以使用NSUserDefaults
//第一次启动时设置值如下:
[[NSUserDefaults standardUserDefaults] setValue:@"YES" forKey:@"LaunchingFirstTime"];
之后
NSString *launch = [[NSUserDefaults standardUserDefaults]valueForKey:@"LaunchingFirstTime"];
if([launch isEqualToString:@"YES"])
//Don't Show Screen
else
//Show Screen
希望对您有所帮助
【讨论】:
Xman 我使用了这个逻辑 - (void)viewDidLoad welcomePage *temp = [[welcomePage alloc]initWithNibName:@"welcomePage" bundle:nil]; [self presentViewController:temp 动画:YES 完成:^(void)]; else NSLog(@"screen");但它显示警告:尝试在您似乎在谈论启动画面。如果您想要一些自定义按钮,例如接受和继续,您可以创建一个自定义视图并从 AppDelegate 的 didFinishLaunching
方法调用该视图。点击按钮可以添加相应的方法。
【讨论】:
【参考方案4】: if ([[NSUserDefaults standardUserDefaults] boolForKey:IS_FIRST_LOGIN])
showYourPage();
#########In your Page#######
-(void) acceptButtonClicked
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:IS_FIRST_LOGIN];
【讨论】:
我在 viewDidLoad 中使用了这个逻辑,但它不工作显示警告:尝试在你可以这样做
self.userDefaults = [NSUserDefaults standardUserDefaults];
NSString *str = [self.userDefaults valueForKey:@"SecondLaunch"];
NSLog(@"the string value is : %@",str);
if ([str isEqualToString:@"Second"])
NSLog(@"It's Second Launch");
else
NSLog(@"It's First Launch");
[self.userDefaults setObject:@"Second" forKey:@"SecondLaunch"];
[self.userDefaults synchronize];
【讨论】:
以上是关于UIViewController 在应用程序启动时呈现一次[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
从设置视图 iOS 返回时启动不同的 UIViewController
启动时如何将数据从 uiviewcontroller 发送到 uipopover?
在单击按钮时重置/重新初始化/重新启动 UIViewController 视图的最简单(正确)方法是啥?
UIViewController 关闭时不接收 dealloc 或 viewDidUnload