0

この奇妙な問題があります(またはそう思います)。私には 2 つの見方があります。1つは「ベース」ビューで、もう1つは設定用で、背景色をパターン画像に変更したいです。これは問題なく動作しますが、いくつかのボタンを配置して、ユーザーが見たい色を選択できるようにしました。私の現在のコードは次のようになります

    [[NSUserDefaults standardUserDefaults] setValue:@"Green" forKey:@"Theme"];
NSString *bgString = [NSString stringWithFormat:@"%@_bg.png", [[NSUserDefaults standardUserDefaults] objectForKey:@"Theme"]];
self.baseView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:bgString]];
self.settingsView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:bgString]];

何らかの理由で、settingsView のみが更新されます。SettingsView はポップオーバー内にありますが、View Controller でも試しました。アプリを終了して再度開くと、更新されます。どうすればすぐに更新できますか?

4

2 に答える 2

0

UI をロックする可能性のあるバックグラウンド スレッドや多くの作業を使用していませんか? これを使用して、メインスレッドで実行されることを確認し、それがどうなるかを確認してください。

dispatch_async(dispatch_get_main_queue(), ^{
                    //Your code here
                });
于 2012-10-01T15:31:38.520 に答える
0

試す[[self settingsView] setNeedsDisplay]

于 2012-10-01T15:12:21.190 に答える