0

Phonegap/Cordova v1.9.0 で iphone アプリケーションを開発しました。

以下の事項を実現したい。

-バックグラウンドアプリの再起動時(アプリアイコンのタップ時)に、表示中のページを自動でリロード-

おそらく、Appdelegate.m または MainViewController.m の関数 (void)applicationDidBecomeActive でいくつかのプログラムを作成する必要がありますが、どうすればよいかわかりません。

この場合の解決方法を教えてください。

4

2 に答える 2

1

NSNotificationオブザーバー パターンを使用できます。MainViewController.mファイルと でviewDidLoad、オブザーバーを追加できます (通知の登録) 。

- (void)viewDidLoad
{
    [super viewDidLoad];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(appDidBecomeActive:)
                                                 name:UIApplicationDidBecomeActiveNotification
                                               object:nil];
}

次に、実装する必要がありますappDidBecomeActive:(セレクターには任意の名前を付けることができますが、その名前のメソッドを実装する必要があります)。この例では:

- (void)appDidBecomeActive:(NSNotification *)notification {
    NSLog(@"App became active");
}

アプリが再開され、このビュー コントローラーがアクティブになっている場合は、それがコンソールに記録されます。そのメソッド内に任意のコードを入れることができます (あなたの場合、ページを更新します)。

メソッドでビュー コントローラーの割り当てが解除されたら、オブザーバーを削除することを忘れないでくださいdealloc。これにより、すべてのオブザーバーが削除されます。

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    NSLog(@"Removed all notification observers");
}
于 2013-10-17T02:07:31.117 に答える