2011-09-07 91 views
-1

可能重複:
How can I save and load the alpha values of a UIButton in an app?我將如何保存一個UIButton的屬性並加載一個按鈕?

我想保存的UIButton的狀態(例如它的α值,以及它是否被隱藏或不),然後這將加載時用戶退出並重新加載應用程序。

我試過一些代碼與NSUserDefaults但沒有運氣。

有人可以幫助一些示例代碼,以便我可以保存和加載按鈕的狀態?

感謝,

詹姆斯

回答

1

相關沙哈里亞爾的答案(我不知道如何評論):

在這種情況下,您需要使用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"]; 
+0

是的,但我不想將alpha設置爲1,我希望它自動從examplebutton.alpha中選擇信息,因爲它可能不同。 – pixelbitlabs

+0

對不起,但我真的不明白你的意思。您可以簡單地將alfa的值存儲爲NSNumber,然後讀取此浮點值。並且不要忘記首先註冊您的默認設置 –

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]; 
+0

我確實使用了[alphadefaults同步]。以下是我使用的一些代碼:http://pastie.org/2498420。當我把這個代碼放入時,該按鈕根本沒有顯示出來......我嘗試添加cross1.alpha = 0.3;在viewDidLoad,但沒有區別... – pixelbitlabs

+0

我把; [[NSUserDefaults standardUserDefaults] setValue:cross1。alpha forKey:@「Cross1Alpha」];但它說;語義問題:將'CGFloat'(aka'float')發送到不兼容類型'id'的參數 – pixelbitlabs

+0

'setValue'需要你發送一個ID類型的引用(一個實際的對象) - 我試着設置alpha屬性0.3精細。看來你的視圖對象沒有正確初始化.. –

相關問題