【问题标题】:Save the Hidden State of A UIButton保存 UIButton 的隐藏状态
【发布时间】:2012-12-16 06:49:45
【问题描述】:

我有一个 UISwitch,它在值更改时使用 if 语句隐藏或取消隐藏一些 UIButton。我希望在切换视图或退出应用程序时保存 UIButtons 的隐藏状态。我尝试使用 NSUserDefaults 但它没有保存,它只是恢复到我最初在 .storyboard 中设置的状态

.m 代码:​​

- (IBAction)buttonHidden:(id)sender {

NSUserDefaults *Defaults = [NSUserDefaults standardUserDefaults];
[Defaults setBool:china.hidden forKey:ChinaChanged];
[Defaults setBool:japan.hidden forKey:JapanChanged];
[Defaults setBool:french.hidden forKey:FrenchChanged];
[Defaults setBool:spanish.hidden forKey:SpanishChanged];
[Defaults synchronize];

}

.m viewDidLoad 代码:

- (void)viewDidLoad {

[super viewDidLoad];

NSUserDefaults *Defaults = [NSUserDefaults standardUserDefaults];
china.hidden = [Defaults boolForKey:ChinaChanged];
japan.hidden = [Defaults boolForKey:JapanChanged];
french.hidden = [Defaults boolForKey:FrenchChanged];
spanish.hidden = [Defaults boolForKey:SpanishChanged];

}

我不知道在哪里可以连接 IBAction 以使其工作。

这是我的 UISwitch 的 if 语句代码:

(IBAction)switchTheSwitch:(id)sender {
if (Languages.on) {
    china.hidden = NO;
    japan.hidden = NO;
    french.hidden = NO;
    spanish.hidden = NO;
}

else {
    china.hidden = YES;
    japan.hidden = YES;
    french.hidden = YES;
    spanish.hidden = YES;

    }
}

谁能帮帮我。

【问题讨论】:

    标签: uibutton nsuserdefaults uiswitch


    【解决方案1】:

    我不确定我是否遵循,但对我来说,您似乎缺少的只是调用 buttonHidden 以便实际保存默认值

    只是做

    -(IBAction)switchTheSwitch:(id)sender {
        if (Languages.on) {
            china.hidden = NO;
            japan.hidden = NO;
            french.hidden = NO;
            spanish.hidden = NO;
        }
        else {
            china.hidden = YES;
            japan.hidden = YES;
            french.hidden = YES;
            spanish.hidden = YES;
        }
        [self buttonHidden:sender];
    }
    

    【讨论】:

    • 非常感谢。我不敢相信我错过了 1 行代码。
    • 有没有办法可以将开关放在不同的视图上并让它工作
    • 当然,outlet 可以指向不同的视图.. 但我猜你的意思是 ViewControllers!?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多