重启应用后如何保存按钮的状态?
How to save the state of a button after restarting the app?
所以我有一个 button
可以在点击时更改其图像。我想 保存 button
的状态 ,这样,当用户再次打开应用程序时,button
将显示它的最后状态。
下面是我的代码:-
- (IBAction)xButtonOnPressed:(id)sender {
[self.xButtonLabel setImage:[UIImage imageNamed:@"x_did-not-take_marked.png"] forState:UIControlStateSelected];
[self.xButtonLabel setImage:[UIImage imageNamed:@"x_did-not-take.png"] forState:UIControlStateNormal];
self.xButtonLabel.selected = !self.xButtonLabel.selected;
}
代码的问题在于,它总是在重新启动应用程序后返回 UIControlStateNormal
。如何保存最后一个按钮状态?
为此使用 NSUserDefaults。
Objective C:
要存储:
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
检索:
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
boolForKey:@"BUTTON_STATE_NORMAL"];
if(isNormalState == true) {
//Do your thing.
}
补充:
swift 3:
要存储:
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
检索:
UserDefaults.standard.string(forKey: "Key")
this.Choose你想保存的方式有很多数据类型>:)
假设您有一个名为 button 的按钮:
UIButton *button;
// get nsuserdefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// save selected state
[defaults setBool:button.selected forKey:@"myButtonState"];
然后稍后,在应用再次启动后...
// restore the selected state
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
button.selected = [defaults boolForKey:@"myButtonState"];
所以我有一个 button
可以在点击时更改其图像。我想 保存 button
的状态 ,这样,当用户再次打开应用程序时,button
将显示它的最后状态。
下面是我的代码:-
- (IBAction)xButtonOnPressed:(id)sender {
[self.xButtonLabel setImage:[UIImage imageNamed:@"x_did-not-take_marked.png"] forState:UIControlStateSelected];
[self.xButtonLabel setImage:[UIImage imageNamed:@"x_did-not-take.png"] forState:UIControlStateNormal];
self.xButtonLabel.selected = !self.xButtonLabel.selected;
}
代码的问题在于,它总是在重新启动应用程序后返回 UIControlStateNormal
。如何保存最后一个按钮状态?
为此使用 NSUserDefaults。
Objective C:
要存储:
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"BUTTON_STATE_NORMAL"];
检索:
Bool isNormalState = [[NSUserDefaults standardUserDefaults]
boolForKey:@"BUTTON_STATE_NORMAL"];
if(isNormalState == true) {
//Do your thing.
}
补充:
swift 3:
要存储:
UserDefaults.standard.set("Your_button_state", forKey: "Key") //setObject
检索:
UserDefaults.standard.string(forKey: "Key")
this.Choose你想保存的方式有很多数据类型>:)
假设您有一个名为 button 的按钮:
UIButton *button;
// get nsuserdefaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// save selected state
[defaults setBool:button.selected forKey:@"myButtonState"];
然后稍后,在应用再次启动后...
// restore the selected state
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
button.selected = [defaults boolForKey:@"myButtonState"];