Ios UIView.backgroundColor仅在下次运行时更新-iphone sdk

Ios UIView.backgroundColor仅在下次运行时更新-iphone sdk,ios,iphone,objective-c,uiview,uibackgroundcolor,Ios,Iphone,Objective C,Uiview,Uibackgroundcolor,实现非常简单。我正在更新UIView的背景色 对于颜色的选择,我使用了一个外部组件 但是,在选择颜色时,它不会立即更新。相反,当我再次运行项目时,背景颜色会发生变化 对这个问题有什么见解吗?谢谢 更新: 下面的方法是从我的类的ViewWillAspect方法调用的 -(IBAction)changeColor:(id)sender { NSArray *arrColor = [[NSArray alloc]initWithArray:[[NSUserDefaults stan

实现非常简单。我正在更新UIView的背景色

对于颜色的选择,我使用了一个外部组件

但是,在选择颜色时,它不会立即更新。相反,当我再次运行项目时,背景颜色会发生变化

对这个问题有什么见解吗?谢谢

更新:

下面的方法是从我的类的ViewWillAspect方法调用的

-(IBAction)changeColor:(id)sender
{      
    NSArray *arrColor = [[NSArray alloc]initWithArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"color"]]; 
    [self.viewWithSilhouetteImage performSelectorOnMainThread:@selector(setBackgroundColor:) withObject:[UIColor colorWithHue:[[arrColor objectAtIndex:0] floatValue] saturation:[[arrColor objectAtIndex:1] floatValue] brightness:[[arrColor objectAtIndex:2] floatValue] alpha:1.0] waitUntilDone:NO];
    [btnSelectPhoto setTitleColor:[UIColor colorWithHue:[[arrColor objectAtIndex:0] floatValue] saturation:[[arrColor objectAtIndex:1] floatValue] brightness:[[arrColor objectAtIndex:2] floatValue] alpha:1.0] forState:UIControlStateNormal];
}
我试着调试,甚至登录。每次更新颜色时都会调用该方法,但直到下一次运行时才进行反射

我使用的组件是ESCColorpicker:
出于性能原因,NSUserDefaults不会自动刷新,而是偶尔刷新一次

完成后:

[[NSUserDefaults standardUserDefaults] setObject:aColor forKey:@"color"];
你应该打电话

[[NSUserDefaults standardUserDefaults] synchronize];

想看看你的代码。可能您在启动时设置了视图的背景色。请确保您正在更新主线程上的颜色,因为所有UI更新都必须在该线程上进行。您没有正确使用外部组件。是的,这已经到位。谢谢你的回复!