保存UIButton状态并使用NSUserDefaults加载 [英] Save UIButton state and load with NSUserDefaults

查看:103
本文介绍了保存UIButton状态并使用NSUserDefaults加载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道如何检测按钮是否被隐藏,以及对其应用了多少Alpha.然后,在调用viewDidLoad时,可以应用这些值使按钮具有与应用程序关闭时相同的状态.

I was wondering how to detect whether the button was hidden or not, and how much alpha was applied to it. Then, when viewDidLoad is called, these values can be applied to make the buttons the same state they were left in when the application closed.

我该如何编码?

谢谢

詹姆斯

推荐答案

如果如标题所示,您想使用NSUserDefaults,则可以这样设置它们:

If, as your title suggests, you want to use NSUserDefaults, then you can set them like this:

-(void)saveButtonState:(UIButton*)button {
    NSUserDefaults defaults = [NSUserDefaults standardUserDefaults];
    [defaults setBool:button.hidden forKey:@"isHidden"];
    [defaults setFloat:button.alpha forKey:@"alpha"];
}

-(void)restoreButtonState:(UIButton*)button {
    NSUserDefaults defaults = [NSUserDefaults standardUserDefaults];
    button.hidden = [defaults boolForKey:@"isHidden"];
    button.alpha = [defaults floatForKey:@"alpha"];
}

如果要对多个按钮执行此操作,则可以使用tag s来区分默认按钮:

If you want to do this for multiple buttons, then you can use tags to differentiate between them in the defaults:

-(void)saveButtonState:(UIButton*)button {
    NSUserDefaults defaults = [NSUserDefaults standardUserDefaults];
    [defaults setBool:button.hidden forKey:[NSString stringWithFormat:@"isHidden%d",button.tag]];
    [defaults setFloat:button.alpha forKey:[NSString stringWithFormat:@"alpha%d",button.tag]];
}

-(void)restoreButtonState:(UIButton*)button {
    NSUserDefaults defaults = [NSUserDefaults standardUserDefaults];
    button.hidden = [defaults boolForKey:[NSString stringWithFormat:@"isHidden%d",button.tag]];
    button.alpha = [defaults floatForKey:[NSString stringWithFormat:@"alpha%d",button.tag]];
}

这篇关于保存UIButton状态并使用NSUserDefaults加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆