我有这个奇怪的问题(或者我是这么认为的)。我有两个观点。一个是“基础”视图,另一个是设置,我想将背景颜色更改为图案图像。这很好用,但是当我放置一些按钮让用户选择他们想要看到的颜色时。我当前的代码看起来像
[[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在popover内部,但我也在视图控制器中尝试过。当我退出并重新打开应用程序时,它会更新。如何立即更新?
答案 0 :(得分:0)
尝试[[self settingsView] setNeedsDisplay]
答案 1 :(得分:0)
您是否正在使用任何可能锁定UI的后台线程或大量工作?尝试使用它来确保它在主线程上运行并看看它是如何运行的。
dispatch_async(dispatch_get_main_queue(), ^{
//Your code here
});