2011-03-19 166 views
0

我需要在我的应用程序中有一个注册页面,该页面应该只在应用程序首次启动时出现。注册页面

我欣赏任何可用的帮助。

谢谢。

回答

0

查找到:

使用NSUserDefaults保存注册信息,并在启动时检查信息是否存在。如果没有,请显示注册控制器并保存信息。这样它只会出现一次。

一个善良的灵魂可能会对你的设置做出大量的猜测,并写出更清晰的答案,或者你可以更新你的问题,告诉我们你是如何试图自己实现这个的,以及你如何失败,因为[insert理由],以及你会如何喜欢这方面的一些提示。

+0

对不起我不是清楚之前,我需要什么是注册页面/任意视图只显示一次应用的整个生命周期。 – alanvabraham 2011-03-19 09:37:11

+0

我更新了答案,以澄清这就是为什么我提到NSUserDefaults。 – Kalle 2011-03-19 10:01:32

0

在我的主屏幕的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]; 
}