2013-02-22 4 views
1

У меня есть функция в моем приложении, которая позволяет пользователю изменять цвет верхней и нижней панелей приложения. Но я не знаю, как сохранить это изменение цвета, чтобы оно не изменилось. Я пытался использовать NSUserDefaults, но это не сработало. Я использую этот метод, чтобы установить цвет:Сохранение цвета пользовательского интерфейса

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

Как бы я сохранить цвет атрибуты topBar и bottomBar так, что выбранный цвет будет применяться при запуске приложения?

ответ

4

Как другие говорят, что вы можете сохранить как данные с помощью NSUserDefaults так:

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

и получить его:

NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"myColor"]; 
UIColor *color = [NSKeyedUnarchiver unarchiveObjectWithData:colorData]; 
0

Я не уверен, как вы пытались сохранить UserDefaults, но конвертируете свой UIColor в NSData и затем сохраняете в UserDefaults. Вы можете увидеть это сообщение, отмеченное как ответ для реализации всего исходного кода: Saving UIColor to and loading from NSUserDefaults.

Смежные вопросы