如何保存UIButton的属性并使用按钮加载?

时间:2011-09-07 17:45:55

标签: ios xcode load uibutton save

  

可能重复:
  How can I save and load the alpha values of a UIButton in an app?

我想保存UIButton的状态(例如它的alpha值以及它是否隐藏),然后在用户退出并重新加载应用程序时加载。

我已经尝试过NSUserDefaults的一些代码,但没有运气。

有人可以帮助一些示例代码,以便我可以保存并加载按钮的状态吗?

谢谢,

詹姆斯

2 个答案:

答案 0 :(得分:1)

你能发布一些代码吗?

NSUserDefaults是存储此类信息的地方..

假设:

设置值后,您是否拨打了[NSUserDefaults synchronize]


代码:

// Setting a value
[[NSUserDefaults standardUserDefaults] setValue:VALUE forKey:KEY];
[[NSUserDefaults standardUserDefaults] synchronize];

// Getting a value
NSString *var1 = [[NSUserDefaults standardUserDefaults] valueForKey:KEY];

在你的情况下,它将是:

// Setting a value
[[NSUserDefaults standardUserDefaults] setFloat:VALUE forKey:KEY];
[[NSUserDefaults standardUserDefaults] synchronize];

答案 1 :(得分:1)

Shaharyar 的回答相关(我不知道如何发表评论):

在这种情况下,您需要使用NSNumber。

[[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithFloat:SOME_FLOAT] forKey:KEY];

因为float不是对象,但NSNumber是一个。

编辑:

1)确保在应用程序第一次运行后创建默认值: 在你的AppDelegate的initialize - 方法:

NSUserDefaults *defaults  = [NSUserDefaults standardUserDefaults];
NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
                             [NSNumber numberWithFloat:SOME_FLOAT], @"YOUR_KEY", 
                             nil];
[defaults registerDefaults:appDefaults];

2)更新后的默认值:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setFloat:FLOAT_VALUE forKey:@"YOUR_KEY"];
[prefs synchronize];

3)读取默认值:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
float FLOAT_VALUE = [prefs floatForKey:@"YOUR_KEY"];