如何保存UISlider的位置(或当前值)?

时间:2011-03-12 23:46:10

标签: ios nsuserdefaults uislider

我在离开UISlider后尝试保存ViewController位置(或当前值)时遇到问题。 UISlider位于我的应用设置ViewController中,可控制应用中的音乐音量。当我更改值并保留设置ViewController时,音乐会使用用户选择的级别。但是,如果您返回到设置ViewController,它将返回到我在界面构建器中设置的默认值。

我已尝试使用NSUserDefaults保存其值,但没有取得任何成功。我该如何实现这种类型的代码呢?

1 个答案:

答案 0 :(得分:4)

NSUserDefaults是一种简单有效的方法来保存这样的设置,但它只会保存您提供的值。您仍需要检索该值,并在下次加载该控制器时使用它来设置滑块的值。如果您发布给您带来麻烦的代码,以及对无法正常工作的描述,将会有所帮助。您是否可以在sharedDefaults对象中保存值?你能找回来吗?

例如,要保存控制温度的滑块的值,您需要执行以下操作:

[[NSUserDefaults sharedDefaults] setFloat:temperatureSlider.value forKey:@"temperature"];

并恢复滑块,你会说:

float temperature = [[NSUserDefaults sharedDefaults] floatForKey:@"temperature"];
temperatureSlider.value = temperature;

当然,将常量用于@“温度”这样的事情总是很好。我只是想在这里保持尽可能简单。