我想知道如何檢測按鈕是否隱藏,以及應用了多少alpha。然後,當調用viewDidLoad時,可以應用這些值來使按鈕處於與應用程序關閉時相同的狀態。保存UIButton狀態並使用NSUserDefaults加載
我該如何編碼?
感謝,
詹姆斯
我想知道如何檢測按鈕是否隱藏,以及應用了多少alpha。然後,當調用viewDidLoad時,可以應用這些值來使按鈕處於與應用程序關閉時相同的狀態。保存UIButton狀態並使用NSUserDefaults加載
我該如何編碼?
感謝,
詹姆斯
如果像你的標題所暗示的,要使用NSUserDefaults
,那麼你可以將它們像這樣:
-(void)saveButtonState:(UIButton*)button {
NSUserDefaults defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool:button.hidden forKey:@"isHidden"];
[defaults setFloat:button.alpha forKey:@"alpha"];
}
-(void)restoreButtonState:(UIButton*)button {
NSUserDefaults defaults = [NSUserDefaults standardUserDefaults];
button.hidden = [defaults boolForKey:@"isHidden"];
button.alpha = [defaults floatForKey:@"alpha"];
}
如果你想做到這一點的多個按鈕,則可以使用tag
s來區分它們之間的默認值:
-(void)saveButtonState:(UIButton*)button {
NSUserDefaults defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool:button.hidden forKey:[NSString stringWithFormat:@"isHidden%d",button.tag]];
[defaults setFloat:button.alpha forKey:[NSString stringWithFormat:@"alpha%d",button.tag]];
}
-(void)restoreButtonState:(UIButton*)button {
NSUserDefaults defaults = [NSUserDefaults standardUserDefaults];
button.hidden = [defaults boolForKey:[NSString stringWithFormat:@"isHidden%d",button.tag]];
button.alpha = [defaults floatForKey:[NSString stringWithFormat:@"alpha%d",button.tag]];
}
要檢查按鈕狀態,請檢查此帖:Xcode: Check if UIButton is hidden, using NSUserDefaults
關於Alpha,請嘗試詢問返回值:self.button.alpha;
您可以更新SQLite數據庫中按鈕和Alpha按鈕的狀態(值)。在viewDidLoad方法中,回調數據庫中的值並立即應用它們。關於如何做到這一點,請查看網絡上的更多信息,您將到達那裏,因爲互聯網上充滿了關於該主題的教程。那麼,這就是我會做的,SQLite實際上是非常有用的;但也許還有其他方法。
輝煌 - 謝謝!當我只嘗試了阿爾法代碼時,它隱藏了所有的按鈕?爲什麼是這樣? – pixelbitlabs
我做了一個NSLog來找出代碼已被應用後,新的alpha是什麼,它說NULL。 – pixelbitlabs
你知道這是爲什麼嗎? – pixelbitlabs