私はここが初めてで、Xcode の初心者で、5 ページのアプリを作ろうとしています。最初のページは 4 つのボタンを備えたメニュー ページで、それぞれ別のページに移動します。アプリケーションを最初に起動すると、どのページに移動するかを選択できます (他の 4 つのページから)。私がやりたいのは、アプリケーションを 2 回目に起動したときにメニュー ページをスキップするようにすることです (以前に選択したページに直接移動します)。これに関するヒントをどこで見つけるか、またはこれに関連する例を教えてください。
3 に答える
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の方法で、次のようなデータを取得できます。
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSNumber *page = [defaults objectForKey:@"Selected_Option"];
int selected = [page intValue];
そして、選択したページに従って、やりたいことを実行します。最初にロードすると、選択した値は0になります。
于 2012-11-13T11:05:17.973 に答える
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 に答える