メイン ビュー コントローラー、「背景色の変更」ビュー コントローラー、および詳細ビュー コントローラーがあります。
ユーザーが背景色の変更ビューコントローラーを介して背景色を変更すると、次のようになります。
NSData *colorData = [NSKeyedArchiver archivedDataWithRootObject:currentColor];
[[NSUserDefaults standardUserDefaults] setObject:colorData forKey:@"backgroundColor"];
//currentColor is specified by user
これは、次の方法で他のビュー コントローラーに更新されます。
NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"backgroundColor"];
UIColor *color = [NSKeyedUnarchiver unarchiveObjectWithData:colorData];
self.view.backgroundColor = color;
私が抱えている問題は、メイン ビュー コントローラーが FIRST をロードすることです。現在、アプリが初めて読み込まれると、すべてが白い画面になります。私の質問は、アプリケーションがすべてのView Controllerで最初に緑色でロードされ、ユーザーが色を指定した後、緑色の表示を停止し、指定された色の表示を開始するように変更するにはどうすればよいですか?
これを試してみましたが、設定viewDidLoad
を上書きするだけなのでうまくいきません。NSUserDefaults