可能重複:
How can I save and load the alpha values of a UIButton in an app?我將如何保存一個UIButton的屬性並加載一個按鈕?
我想保存的UIButton的狀態(例如它的α值,以及它是否被隱藏或不),然後這將加載時用戶退出並重新加載應用程序。
我試過一些代碼與NSUserDefaults但沒有運氣。
有人可以幫助一些示例代碼,以便我可以保存和加載按鈕的狀態?
感謝,
詹姆斯
可能重複:
How can I save and load the alpha values of a UIButton in an app?我將如何保存一個UIButton的屬性並加載一個按鈕?
我想保存的UIButton的狀態(例如它的α值,以及它是否被隱藏或不),然後這將加載時用戶退出並重新加載應用程序。
我試過一些代碼與NSUserDefaults但沒有運氣。
有人可以幫助一些示例代碼,以便我可以保存和加載按鈕的狀態?
感謝,
詹姆斯
相關沙哈里亞爾的答案(我不知道如何評論):
在這種情況下,您需要使用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"];
你能發佈一些代碼?
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];
我確實使用了[alphadefaults同步]。以下是我使用的一些代碼:http://pastie.org/2498420。當我把這個代碼放入時,該按鈕根本沒有顯示出來......我嘗試添加cross1.alpha = 0.3;在viewDidLoad,但沒有區別... – pixelbitlabs
我把; [[NSUserDefaults standardUserDefaults] setValue:cross1。alpha forKey:@「Cross1Alpha」];但它說;語義問題:將'CGFloat'(aka'float')發送到不兼容類型'id'的參數 – pixelbitlabs
'setValue'需要你發送一個ID類型的引用(一個實際的對象) - 我試着設置alpha屬性0.3精細。看來你的視圖對象沒有正確初始化.. –
是的,但我不想將alpha設置爲1,我希望它自動從examplebutton.alpha中選擇信息,因爲它可能不同。 – pixelbitlabs
對不起,但我真的不明白你的意思。您可以簡單地將alfa的值存儲爲NSNumber,然後讀取此浮點值。並且不要忘記首先註冊您的默認設置 –