Iphone 一次警报?
我想在用户第一次打开我的应用程序时发出UIalert,告诉他们基本功能,但我不希望每次打开应用程序或重新加载主屏幕时都显示UIalert。我在其他应用程序中也看到过这种情况,但不知道最好的解决方法是什么。如果有人能为我指出正确的方向,我们将不胜感激。如果他们之前是否启动过应用程序,请使用“[NSUserDefaults standardUserDefaults]”编写布尔值。使用“[NSUserDefaults standardUserDefaults]”如果他们之前是否启动过应用程序,则写入布尔值。将此粘贴到-(void)applicationdFinishLaunching:(UIApplication)application方法中的应用程序委托中Iphone 一次警报?,iphone,objective-c,ios,Iphone,Objective C,Ios,我想在用户第一次打开我的应用程序时发出UIalert,告诉他们基本功能,但我不希望每次打开应用程序或重新加载主屏幕时都显示UIalert。我在其他应用程序中也看到过这种情况,但不知道最好的解决方法是什么。如果有人能为我指出正确的方向,我们将不胜感激。如果他们之前是否启动过应用程序,请使用“[NSUserDefaults standardUserDefaults]”编写布尔值。使用“[NSUserDefaults standardUserDefaults]”如果他们之前是否启动过应用程序,则写入布
BOOL hasRunBefore = [[NSUserDefaults standardUserDefaults] boolForKey:@"FirstRun"];
if (!hasRunBefore) {
UIAlertView *firstRun = [[UIAlertView alloc] initWithTitle:@"Virgin" message:@"Hello World!!" delegate:nil cancelButtonTitle:@"Done" otherButtonTitles:nil];
[firstRun show];
[firstRun release];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirstRun"];
}
else if (hasRunBefore) {
//can do some else if run before
}
基本上,这是检查NSUserDefaults中的键“FirstRun”,类似地,这可以修改为版本号或其他内容,例如,如果您希望在每次更新或其他内容后发出新警报。然后,它会检查该密钥是否不存在(!hasRunBefore),如果它不存在(因此以前从未运行过),它会创建一个UIAlertView,然后为该密钥设置“是”(也会创建正在进行的ket)将该密钥粘贴到-(void)applicationdFinishLaunching:(UIApplication)application方法中的应用程序委托中
BOOL hasRunBefore = [[NSUserDefaults standardUserDefaults] boolForKey:@"FirstRun"];
if (!hasRunBefore) {
UIAlertView *firstRun = [[UIAlertView alloc] initWithTitle:@"Virgin" message:@"Hello World!!" delegate:nil cancelButtonTitle:@"Done" otherButtonTitles:nil];
[firstRun show];
[firstRun release];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirstRun"];
}
else if (hasRunBefore) {
//can do some else if run before
}
基本上,这是检查NSUserDefaults中的键“FirstRun”,类似地,这可以修改为版本号或其他内容,例如,如果您希望在每次更新或其他内容后发出新警报。然后,它检查该键是否不存在(!hasRunBefore),如果它不存在(因此以前从未运行过),它会创建一个UIAlertView,然后为该键设置YES(同时创建正在进行的ket)我在主屏幕的viewDidLoad方法中使用NSUserDefaults。因此,每次应用程序启动并加载主屏幕时,它都会检查是否是用户的第一次 以下是我在我的应用程序中执行此操作的方式:
- (void)viewDidLoad {
BOOL tempBOOL = [[NSUserDefaults standardUserDefaults] boolForKey:@"hasSeenOpeningAlert"];
if (!tempBOOL) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome To My App" message:@"This app will ... First you need to ..." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
[alert release];
}
[super viewDidLoad];
}
然后:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
Edit *editViewController = [[[Edit alloc] initWithNibName:@"Edit" bundle:nil]retain];
[self.navigationController presentModalViewController:editViewController animated:YES];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"hasSeenOpeningAlert"];
[[NSUserDefaults standardUserDefaults] synchronize];
[editViewController release];
}
我在主屏幕的viewDidLoad方法中使用NSUserDefaults。因此,每次应用程序启动并加载主屏幕时,它都会检查是否是用户的第一次 以下是我在我的应用程序中执行此操作的方式:
- (void)viewDidLoad {
BOOL tempBOOL = [[NSUserDefaults standardUserDefaults] boolForKey:@"hasSeenOpeningAlert"];
if (!tempBOOL) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome To My App" message:@"This app will ... First you need to ..." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
[alert release];
}
[super viewDidLoad];
}
然后:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
Edit *editViewController = [[[Edit alloc] initWithNibName:@"Edit" bundle:nil]retain];
[self.navigationController presentModalViewController:editViewController animated:YES];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"hasSeenOpeningAlert"];
[[NSUserDefaults standardUserDefaults] synchronize];
[editViewController release];
}
退房,退房,我是新来的。如果你能给我举个例子,这对我真的很有帮助。如果不担心的话。还是谢谢你的帮助。我对这个有点陌生。如果你能给我举个例子,这对我真的很有帮助。如果不担心的话。还是谢谢你的帮助。