我有一个主视图控制器、一个“更改背景颜色”视图控制器和一个详细视图控制器。
当用户通过更改背景颜色视图控制器更改背景颜色时,我执行以下操作:
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;
我遇到的问题是主视图控制器首先加载。目前,当应用程序第一次加载时,所有内容都有一个白屏。我的问题是:我将如何更改它,以便应用程序在每个视图控制器上加载绿色,并且在用户指定颜色后,它停止显示绿色并开始显示指定的颜色?
我试过了,viewDidLoad
但这不起作用,因为它只会覆盖NSUserDefaults
设置。