2012-11-13 67 views
2

我是新来的人,也是Xcode的初学者,我试着做一个5页的应用程序。第一个是带有4个按钮的菜单页面,每个按钮导致不同的页面。当你第一次启动应用程序时,你可以选择去哪个页面(从其他4个页面)。我想要做的是让应用程序在第二次启动时跳过菜单页面(直接进入之前选择的页面)。任何人都可以给我一些指导,在哪里可以找到有关这方面的提示,或者给出一个与此相关的例子?在第二次应用程序启动时跳过主菜单

回答

0

试试这个:

-(void)viewDidLoad{ 

[super viewDidLoad]; 
if ([[NSUserDefaults standardUserDefaults]boolForKey:@"secondTime"]==YES) { 
    switch ([[NSUserDefaults standardUserDefaults]integerForKey:@"nextTime"]) { 
     case 1: 
      [self.navigationController pushViewController:firstViewController animated:YES]; 

      break; 
     case 2: 
      [self.navigationController pushViewController:secondViewController animated:YES]; 

      break; 
     case 3: 
      [self.navigationController pushViewController:thirdViewController animated:YES]; 

      break; 
     case 4: 
      [self.navigationController pushViewController:forthViewController animated:YES]; 

      break; 

     default: 
      break; 
    } 
    return; 
} 


} 


-(void)btnClicked:(id)sender{ 
[[NSUserDefaults standardUserDefaults]setInteger:[sender tag] forKey:@"nextTime"]; 
[[NSUserDefaults standardUserDefaults]setBool:YES forKey:@"secondTime"]; 
[[NSUserDefaults standardUserDefaults]synchronize]; 
switch ([sender tag]) { 
    case 1: 
     [self.navigationController pushViewController:firstViewController animated:YES]; 

     break; 
    case 2: 
     [self.navigationController pushViewController:secondViewController animated:YES]; 

     break; 
    case 3: 
     [self.navigationController pushViewController:thirdViewController animated:YES]; 

     break; 
    case 4: 
     [self.navigationController pushViewController:forthViewController animated:YES]; 

     break; 

    default: 
     break; 
} 
+0

伟大的ideea!谢谢! –

0

当用户选择一个页面我愿意选择存储到NSUserDefaults ...

[[NSUserDefaults standardUserDefaults] setObject:chosenPageIndex forKey:@"selectedPage"]; 

(chosenPageIndex是页面索引的一个NSNumber)。

然后,当应用程序启动,你可以做到这一点...

NSNumber *prevSelectedPage = [[NSUserDefaults standardUserDefaults] objectForKey:@"selectedPage"]; 

if (prevSelectedPage != nil) { 
    //use this bit to move to the selected page using the page number stored in prevSelectedPage 
} 

,这是我会怎么做。

+0

感谢您回答我和你花了时间!谢谢!!!!!!!! –

0

您可以使用NSUserDefault用于此目的。

当用户选择一个选项,将它添加到NSUSerDefaults,如:

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:[NSNumber numberWithInt:selectedPage] forKey:@"Selected_Option"]; 
[defaults synchronize]; 

而当用户再次打开应用,在的appdelegate的THA applicationWillLaunch方法,您可以检索数据,如:

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; 
NSNumber *page = [defaults objectForKey:@"Selected_Option"]; 
int selected = [page intValue]; 

并根据所选页面做你想要的。在第一次加载选择将等于0.

相关问题