【发布时间】:2012-05-07 23:56:51
【问题描述】:
我在视图上有一个自定义 UIButton,当我按下它时,它会改变状态和 img。当我退出视图并返回它时,UIButton 的状态保持不变。但是当我退出我的应用程序并重新启动它时。我的自定义 UIButton 的状态恢复为默认值。当我退出应用程序时,有没有办法可以保存该按钮的状态?
下面是示例图片
before http://i.minus.com/ibzHa1XCTDwSAJ.png
这是我尝试在 -(void)viewDidLoad 上执行此操作的代码
UOEventPost *post = (UOEventPost *)self.event;
if(post.postWanted == YES){
[wantThis setBackgroundImage:[UIImage imageNamed:@"wanted@2x.png"] forState:UIControlStateSelected];
[wantThis setSelected:TRUE];
wantThis.titleLabel.text = [NSString stringWithFormat:@"Wanted"];
}else {
[wantThis setSelected:FALSE];
}
编辑
savedState = [[NSUserDefaults standardUserDefaults]boolForKey:@"TheSavedState"];
UOEventPost *post = (UOEventPost *)self.event;
if(post.postWanted == YES){
[[NSUserDefaults standardUserDefaults]setBool:YES forKey:@"TheSavedState"];
}else {
[[NSUserDefaults standardUserDefaults]setBool:NO forKey:@"TheSavedState"];
}
if(!savedState){
[wantThis setSelected:FALSE];
}else {
[wantThis setBackgroundImage:[UIImage imageNamed:@"wanted@2x.png"] forState:UIControlStateSelected];
[wantThis setSelected:TRUE];
wantThis.titleLabel.text = [NSString stringWithFormat:@"Wanted"];
}
【问题讨论】:
-
你试过NSUserDefaults吗?
-
是的,我有,检查我新编辑的代码
-
保存到 NSUserDefaults 后执行以下操作:[[NSUserDefaults standardUserDefaults] synchonize]。这将保存它。
-
同步使我的应用崩溃
标签: objective-c ios xcode uibutton save