我的应用程序中有一项功能,允许用户更改应用程序顶部和底部栏的颜色。但我不知道如何保存这种颜色变化,以便它保持不变。我尝试使用NSUserDefaults
但它没有用。我正在使用此方法设置颜色:
-(IBAction)uiColorGreen:(id)sender{
topBar.tintColor = [UIColor greenColor];
bottomBar.tintColor = [UIColor greenColor];
如何保存topBar
和bottomBar
颜色属性,以便在启动应用时应用所选颜色?
答案 0 :(得分:4)
正如其他人所说,您可以使用NSUserDefaults保存为数据:
NSData *colorData = [NSKeyedArchiver archivedDataWithRootObject:color];
[[NSUserDefaults standardUserDefaults] setObject:colorData forKey:@"color1"];
并得到它:
NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"myColor"];
UIColor *color = [NSKeyedUnarchiver unarchiveObjectWithData:colorData];
答案 1 :(得分:0)
嗯,我不确定您是如何尝试保存到UserDefaults,但是将UIColor转换为NSData然后存储在UserDefaults中。 您可以看到此帖子标记为完整源代码实现的答案:Saving UIColor to and loading from NSUserDefaults。