objective-c - 退出应用程序并重新加载时保存 UIButton 的状态

标签 objective-c ios xcode uibutton save

我在 View 上有一个自定义 UIButton,当我按下它时,它会更改状态和 img。当我退出 View 并返回时,UIButton 的状态保持不变。但是当我退出我的应用程序并重新启动它时。我的自定义 UIButton 的状态恢复为默认状态。有什么方法可以在我退出应用程序时保存该按钮的状态?

下面是示例图片

before http://i.minus.com/ibzHa1XCTDwSAJ.png

![之后] http://min.us/mtkB3JQRI

这是我尝试在 -(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,这样只要用户拥有您的应用程序,它就会保存。您可以在需要时覆盖它。

关于objective-c - 退出应用程序并重新加载时保存 UIButton 的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10490730/

相关文章:

ios - AudioQueueStart 返回 561015905 (AVAudioSessionErrorCodeCannotStartPlaying)

ios - 1 个 UITableViewCell 中的 2 个动态图像查看器,如何设置约束?

swift - 使用 LLDB 时如何修复错误 "Cannot create Swift scratch context"

ios - 具有完成 block 的递归方法

ios - Firebase 性能监控如何拦截 iOS 中的传出 http 请求?

iphone - '-respondsToSelector :' not found in protocol(s)

ios - 在 ARKit 中映射 GPS 坐标

ios - NSURLSession.sharedSession().dataTaskWithRequest(request) 最后执行

objective-c - 无法从 Objective-C 调用 Swift 函数

iphone - Xcode 忽略我的框架