0

ログインページ(1ページ目)に新しいバージョンの更新を表示するアラートビューがあります。しかし実際には、このアラートは起動するたびにログインページにのみ表示されるようにしたいと思います。私はこれに関連する非常に多くの質問を見てきましたが、それらのいくつかがアラートメッセージを一度だけ表示するのに役立ちませんでしたが、アプリの起動時に再び表示されます

UIAlertView、ユーザーがアプリを開いたら。一度表示 ......。

今私のコードは

 [self performSelector:@selector(getUpdate) withObject:nil afterDelay:0.1];

DidBecomeActiveメソッドで。更新alertmsgを取得するためにWebサービスを呼び出しています。

そして私の問題は

1)DidBecomeActiveのコードを使用することにより、ログアウトせずに閉じた後、初めてgudが機能し、アプリを再度開くたびに、アラートは最初または最後に関係なく現在のページに表示されます。

4

3 に答える 3

1

私が提案するのは、アプリデリゲートからViewControllerのメソッドを呼び出すことです。

appdelegate.mファイルにはapplicationDidFinishLaunchingWithOptions...、ビューをインスタンス化して最初のビューコントローラーを呼び出すコードがここで呼び出されるメソッドがあります。

たとえば、私は新しいプロジェクトを開始したばかりです(マスター詳細アプリケーション-しかし、あなたのプロジェクトも同様です)。

私のAppDelegate.mファイルには次のようなコードがあります。

    PMXMasterViewController *masterViewController = [[PMXMasterViewController alloc] initWithNibName:@"PMXMasterViewController_iPhone" bundle:nil];
    self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
    self.window.rootViewController = self.navigationController;
    masterViewController.managedObjectContext = self.managedObjectContext;

これはinit、View Controllerを実行し、それをNavigation Controllerに追加して、managedObjectContext変数を設定します。

この後、ViewControllerの任意のメソッドを呼び出すことができます。

[masterViewController showAlertDialog:@"My Message Here"]

あなたはmasterViewControllerと呼ばれるメソッドを作る必要がありますshowAlertDialog

- (void)showAlertDialog:(NSString *)message {
    // show alert dialog here
}

アプリデリゲートのapplicationDidFinishLauching...メソッドはアプリの起動時にのみ呼び出されるため、アラートダイアログはアプリの起動時にのみ表示されます。

お役に立てば幸いです。

于 2012-08-08T11:38:31.870 に答える
0

アプリケーションの初回起動時にのみアラートを表示する必要があると思います...そうであれば...この方法を試してください

appdidfinishlaunching メソッドでの最初の実行かどうかを判断するには

firstRun のように nsuserdefaults に bool を格納する

if([defaults objectForKey:@"firstRun"]==nil)
{
[defaults setBool:YES forKey:@"firstRun"];
}
else
{
[defaults setBool:NO forKey:@"firstRun"];
}

その後、アラートを表示すると、この値が YES の場合にのみアラートが表示されます

于 2012-08-08T11:38:48.747 に答える
-1

関連するViewControllerのviewDidLoadメソッドに次のコードを記述します。

UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"UNLOCK PIN!"
                                                      message:@"Enter your valid PIN."
                                                     delegate:nil
                                            cancelButtonTitle:@"OK"
                                            otherButtonTitles:nil];

message.alertViewStyle = UIAlertViewStyleSecureTextInput;

[message show];
于 2012-08-08T11:35:15.890 に答える