保存UI颜色

时间:2013-02-22 16:10:08

标签: iphone ios nsuserdefaults uicolor

我的应用程序中有一项功能,允许用户更改应用程序顶部和底部栏的颜色。但我不知道如何保存这种颜色变化,以便它保持不变。我尝试使用NSUserDefaults但它没有用。我正在使用此方法设置颜色:

-(IBAction)uiColorGreen:(id)sender{
topBar.tintColor = [UIColor greenColor];
bottomBar.tintColor = [UIColor greenColor];

如何保存topBarbottomBar颜色属性,以便在启动应用时应用所选颜色?

2 个答案:

答案 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