0

アプリケーションの初期ビュー(紹介ページ)を設定しようとしています。ユーザーがこのページを確認した後、デフォルトでタブ付きビューが表示されます。私はiOSを初めて使用しますが、最初の推測では、標準のView Controllerを作成し、それを初期ビューとして設定します。次に、ユーザーが[OK]を押したら、値をファイルに保存し、アプリを開くたびに値を読み込みます。すでに[OK]を押している場合は、代わりにタブ付き画面に移動します。

私の2番目のオプションは、タブ付きビューを完全にカバーするある種のダイアログボックスを表示することです。これはおそらくもっと簡単でしょう。わからない。

ただし、ここで提案されているほとんどのアプローチの問題は、ストーリーボードを使用していないことです(アプリデリゲートの編集の提案に関して)。上記で概説した方法は、これを解決する適切な方法ですか?できない場合は、誰かがこれを達成する方法についていくつかのガイダンスを提供できませんでした。

前に言ったように、これはすべてかなり新しいものです(WP7からのものです)ので、正しい用語を述べなかった場合は申し訳ありません。お時間をいただきありがとうございます。

4

2 に答える 2

2

ストーリーボード内からこれをすべて行うこともできます。最初のViewControllerは、タブ付きコントローラーへのセグエを持つことができ、条件が満たされている場合にのみ、そのセグエに従います。

于 2012-05-22T19:13:28.737 に答える
2

最初のタブのビュー コントローラーの名前が FirstViewController であると仮定します。FirstViewController の viewDidLoad を編集します。

- (void)viewDidLoad {
   [super viewDidLoad];

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    BOOL alreadyShownWelcomeScreen = [defaults boolForKey:@"alreadyShownWelcomeScreen"];
    if (alreadyShownWelcomeScreen) {
        // Already shown welcome screen. Do nothing.
    } else {
        // Show welcome screen

        WelcomeViewController *controller = [[WelcomeViewController alloc] initWithNibName:@"WelcomeViewController" bundle:nil];
       [self presentModalViewController:controller animated:YES];

       // Update NSUserDefaults.
       [defaults setBool:YES forKey:@"alreadyShownWelcomeScreen"];
       [defaults synchronize];
    }

注: これは、常に FirstViewController で起動する場合にのみ機能します。状態を保持して別のタブでアプリを起動する場合は、このコードを別の場所 (AppDelegate.m など) に移動する必要があります。

于 2012-05-21T20:44:07.090 に答える