2011-08-13 5 views
2

私はiPhone iOS 4のプロジェクトでXcode 4を使って作業しています。適用方法再起動時に設定を変更しますか?

私はUIButtonのビューを持っています。 UIButtonのタイトルは、viewDidLoadで設定されます。したがって、アプリケーションが起動すると、ボタンにはタイトルが付きます。

しかし、私のアプリには設定バンドルがあり、ボタンのタイトルは設定アプリでも変更できます。だから私はホームボタンをクリックし、私のアプリケーションは終了し、私は設定アプリに行き、新しいボタンのタイトルを設定する。

設定を終了してアプリを再起動すると、ボタンのタイトルは更新されず、古いボタンのタイトルになります。すべては私が残したものです。

iPhoneの電源を切ってから、アプリの電源を入れ直したとき(つまり、完全に再起動したとき)には、ボタンは新しいタイトルになります。

アプリが(完全ではない)再起動時にボタンのタイトルが変更されるようにするにはどうすればよいですか?

ありがとうございます。

答えて

0

私は、ViewWillAppearメッセージがViewControllerに送信されると誤って思っていました。これは、設定アプリから戻ってから再びアクティブになったときです。

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

し、その後であるためにあなたのViewControllerに適切なメソッドを作成します:あなたはUIApplicationDidBecomeActiveNotification通知を受け取るためにあなたのViewControllerを登録することで、あなたが望むものを達成することができるはずですので、アプリがアクティブになったときに投稿通知は、しかし、がありますあなたはapplicationDidEnterForegroundの設定を更新したい

- (void)refreshButtonTitle:(NSNotification *)notification { 
// update the title of your button here 
} 
+0

viewWill停止後に表示されません。私はviewWillAppearでAlertを試しましたが、中断後は再起動時にAlertが表示されません。 – boscarol

+0

viewWillAppearがトリガーされていないのは間違いありません。私は動作するはずの別の提案で私の答えを更新しました。 – glorifiedHacker

2

:通知が発射されたときに呼び出されます。それが再開すると呼び出されます。

編集:タイプミスがあったが、それは

- (void)applicationWillEnterForeground:(UIApplication *)application 

あるべきドキュメントを参照してください。http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

+0

applicationDidEnterForeground Apple iOSデベロッパーサイトを検索した結果が0件です。おそらくapplicationDidBecomeActiveですか? – boscarol

+0

編集を参照してください。 –

0

あなたはNSUserDefaultsDidChangeNotification Sを受信し、あなたのUIを更新するために、それに応じて行動するように登録することができます。

関連する問題