2

私はここが初めてで、Xcode の初心者で、5 ページのアプリを作ろうとしています。最初のページは 4 つのボタンを備えたメニュー ページで、それぞれ別のページに移動します。アプリケーションを最初に起動すると、どのページに移動するかを選択できます (他の 4 つのページから)。私がやりたいのは、アプリケーションを 2 回目に起動したときにメニュー ページをスキップするようにすることです (以前に選択したページに直接移動します)。これに関するヒントをどこで見つけるか、またはこれに関連する例を教えてください。

4

3 に答える 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];

また、ユーザーがアプリを再度開くと、applicationWillLaunchappdelegateの方法で、次のようなデータを取得できます。

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 に答える