徹底的な調査を行いましたが、探している答えが見つからないようです。誰かが助けてくれることを願っています。
アプリに複数のビュー コントローラーがあります。そのうちの 1 つは、ユーザーがセグメント化されたコントロールを介して背景色などの特定の設定を変更できる「オプション」ビューです。クリックすると、ユーザーはボタンをクリックして、好みの色を NSUserDefaults に保存します。これは完全に機能し、次にアプリを開いたときにも正しい色が選択されています. ただし、オプションビューコントローラーのみ。
この選択した背景色を他のビュー コントローラーに読み込むにはどうすればよいですか? オプションビューで行ったように、他のビューのViewDidLoadに実装しても実行されないようです(以下を参照)。
options.m の私のコードは次のとおりです。
- (IBAction)changeColor {
switch (colorControl.selectedSegmentIndex) {
case 0:
[colorView setBackgroundColor:[UIColor redColor]];
break;
case 1:
[colorView setBackgroundColor:[UIColor blackColor]];
break;
case 2:
[colorView setBackgroundColor:[UIColor brownColor]];
break;
default:
break;
}
}
- (IBAction)saveDefaultColor {
int defaultColorInteger = colorControl.selectedSegmentIndex;
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setInteger:defaultColorInteger forKey:@"defaultColor"];
[userDefaults synchronize];
}
上記はコントロールと保存ボタンです。私の ViewDidLoad には、次のものを含めました。
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
int defaultColorInteger = [userDefaults integerForKey:@"defaultColor"];
[colorControl setSelectedSegmentIndex:defaultColorInteger];
switch (colorControl.selectedSegmentIndex) {
case 0:
[colorView setBackgroundColor:[UIColor redColor]];
break;
case 1:
[colorView setBackgroundColor:[UIColor blackColor]];
break;
case 2:
[colorView setBackgroundColor:[UIColor brownColor]];
break;
default:
break;
これは私が望むとおりに機能しますが、他のビューでは機能しません。私が欠けているように見えるものについて誰かが私を助けることができますか? どうもありがとう