2012-11-13 68 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.

相關問題