1

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

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

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

4

2 回答 2

4

正如其他人所说,您可以使用 NSUserDefaults 保存为数据,如下所示:

NSData *colorData = [NSKeyedArchiver archivedDataWithRootObject:color];
[[NSUserDefaults standardUserDefaults] setObject:colorData forKey:@"color1"];

并得到它:

NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"myColor"];
UIColor *color = [NSKeyedUnarchiver unarchiveObjectWithData:colorData];
于 2013-02-22T16:42:20.200 回答
0

好吧,我不确定您如何尝试保存到 UserDefaults,但是将您的 UIColor 转换为 NSData 然后存储在 UserDefaults 中是可行的。您可以看到这篇标记为整个源代码实现的答案:将 UIColor 保存到并从 NSUserDefaults 加载

于 2013-02-22T16:15:29.333 回答