我是新来的,也是 Xcode 的初学者,我正在尝试做一个有 5 页的应用程序。第一个是带有 4 个按钮的菜单页面,每个按钮通向不同的页面。当您第一次启动应用程序时,您可以选择要转到哪个页面(从其他 4 个页面中选择)。我想做的是让应用程序在您第二次启动它时跳过菜单页面(直接转到您之前选择的页面)。谁能给我一些关于在哪里可以找到有关此提示的指示,或提供与此相关的示例?
问问题
47 次
3 回答
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
}
我就是这样做的。
于 2012-11-13T11:02:58.060 回答
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;
}
于 2012-11-13T11:05:13.620 回答
0
您可以为此目的使用NSUserDefault 。
当用户选择一个选项时,将其添加为NSUSerDefaults
喜欢:
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSNumber numberWithInt:selectedPage] forKey:@"Selected_Option"];
[defaults synchronize];
当用户再次打开应用程序时,在applicationWillLaunch
appdelegate 的 tha 方法中,您可以检索如下数据:
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSNumber *page = [defaults objectForKey:@"Selected_Option"];
int selected = [page intValue];
并根据选择的页面做你想做的事。在第一次加载时,selected 将等于 0。
于 2012-11-13T11:05:17.973 回答