0

我在我的应用程序中添加了一个选项来更改NSTextField. 我设置了一个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];
    }
}
4

1 回答 1

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];
}

}
于 2013-10-26T05:37:13.300 回答