[英]save UIButton state iOS
我有一个UIButton
- (IBAction)checkButton:(id)sender {
if (!checked) {
[checkBoxButton setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateNormal];
checked = YES;
} else if (checked) {
[checkBoxButton setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
checked = NO;
}
}
我想保存用户输入的内容,即使该应用程序关闭后,该按钮是否被选中也是如此。 有人帮我编码吗? 我不知道使用NSUserDefaults保存BOOL状态的代码。
通过以下方式使用它:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool: checked forKey:@"Status"];
[defaults synchronize];
要检索它,
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL state = [defaults boolForKey:@"Status"];
将按钮的Normal
和selected
状态的图像设置为
[checkBoxButton setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateSelected];
[checkBoxButton setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
并在IBAction
集中
- (IBAction)checkButton:(id)sender {
if (!checked) {
[checkBoxButton setSelected:NO];
checked = YES;
} else if (checked) {
[checkBoxButton setSelected:YES];
checked = NO;
}
}
这是一个例子:
if ([[NSUserDefaults standardUserDefaults] boolForKey:hasLaunchedOnceKey])
{
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:hasLaunchedOnceKey];
[[NSUserDefaults standardUserDefaults] synchronize]; //Saves the data
}
我在哪里:
static NSString *hasLaunchedOnceKey = @"HasLaunchedOnce";
在@implementation语句之前声明。
请参阅此以获取详尽的教程。
**注意:您无需在任何类型的plist文件afaik中声明任何内容。 您只需检查并设置这些键,如果它们不存在,它们将被动态创建。 无论如何,对我来说就是这样。
编程愉快!
我的方法太简单了..您不需要采用任何其他变量。 初始化时,将按钮标签设置为零,然后再使用它。
- (IBAction)checkButton : (id)sender {
if ([sender tag] == 0) {
[sender setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateNormal];
[sender setTag:1];
} else {
[sender setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
[sender setTag:0];
}
}
谢谢与欢呼..可能会有所帮助..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.