我在我的应用中添加了一个选项来更改NSTextField
的背景颜色和textColor。我设置NSPopUpButton
并根据NSPopUpButton
中的所选项目更改颜色。我想使用NSUserDefaults保存此选择。我正在使用此方法来更改backgroundColor和textColor,它的工作原理。如何使用NSUserDefaults
保存属性并将其设置为启动?
- (IBAction)addBarColor:(id)sender {
if ([addBarColor.titleOfSelectedItem isEqualToString:@"White"]) {
addressBar.backgroundColor = [NSColor whiteColor];
addressBar.textColor = [NSColor blackColor];
}
else {
//default state
addressBar.backgroundColor = [NSColor redColor];
addressBar.textColor = [NSColor whiteColor];
}
}
答案 0 :(得分:0)
首先在您的操作方法中设置如下: -
现在,无论何时设置颜色,它都会保存为默认颜色,这里只添加两行
- (IBAction)addBarColor:(id)sender {
NSUserDefaults *default=[NSUserDefaults standardUserDefaults];
[default setObject:addBarColor.titleOfSelectedItem forKey:@"selectedColor"];
//Process your code
}
//现在只需从默认值中读取保存的颜色,然后设置为弹出按钮
-(void)awakeFromNib
{
NSUserDefaults *default=[NSUserDefaults standardUserDefaults];
NSString *defColor=[default ObjectForKey:@"selectedColor"];
if (defColor)
{
[addBarColor selectItemWithTitle:defColor];
}
}