2017-06-10 7 views
1

何か助けてください、私は最初の指示だけを示す私のアプリでウェルカムスクリーンを使用しようとしています。チュートリアルビューコントローラアプリデリゲートで指示画面iOS目的c

NSUserDefaults *defaults; 
defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults boolForKey:@"HasLaunchedOnce"]; 
    [defaults synchronize]; 

でIAM使用してNSuserDefultes :

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) 
    { 
     [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"]; 
     [[NSUserDefaults standardUserDefaults] synchronize]; 
    } 

    return YES; 
} 

このコードで間違っていますか?

+0

現在直面している問題は何ですか?指示画面が表示されませんか? –

+0

いくつかのコードを投稿するか適切に質問を記述する –

+0

私はアプリケーションを開くたびに表示されますが、1回だけ必要です –

答えて

0

サンプルコードの各部分がどこで呼び出されているのかわかりません。そのため、一般的な方法を説明します。

チュートリアルを示す前に、あなたはそれがこのような最初の打ち上げであるか否かを確認する必要があります:

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) 
    [self displayTutorial]; 

displayTutorialは、チュートリアルのビューコントローラを提供する方法です。

は、チュートリアル・ビューコントローラのviewDidLoad内部では、次のようにtrueにそのブール値を設定します。

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

そのように、チュートリアル・ビュー・コントローラは、一度だけ表示されます。

+0

どうすればapp delegate.m? ? –

+0

ここに記載されている方法に従えば、アプリケーションデリゲートに何かを入れる必要はありません。 –

+0

okありがとう私はあなたの解決策を試してみます –

0

アプリの.plistファイルで選択したメイン/デフォルトのストーリーボードは、アプリの起動時に常に表示されます。それを条件付きにすることはできません。

条件付きの起動画面が必要な場合は、デフォルトの起動画面が消えた後に自分で実装する必要があります(Moe Abdul-Hameedなど)。

関連する問題