[英]save UIButton state iOS
我有一個UIButton
- (IBAction)checkButton:(id)sender {
if (!checked) {
[checkBoxButton setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateNormal];
checked = YES;
} else if (checked) {
[checkBoxButton setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
checked = NO;
}
}
我想保存用戶輸入的內容,即使該應用程序關閉后,該按鈕是否被選中也是如此。 有人幫我編碼嗎? 我不知道使用NSUserDefaults保存BOOL狀態的代碼。
通過以下方式使用它:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool: checked forKey:@"Status"];
[defaults synchronize];
要檢索它,
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
BOOL state = [defaults boolForKey:@"Status"];
將按鈕的Normal
和selected
狀態的圖像設置為
[checkBoxButton setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateSelected];
[checkBoxButton setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
並在IBAction
集中
- (IBAction)checkButton:(id)sender {
if (!checked) {
[checkBoxButton setSelected:NO];
checked = YES;
} else if (checked) {
[checkBoxButton setSelected:YES];
checked = NO;
}
}
這是一個例子:
if ([[NSUserDefaults standardUserDefaults] boolForKey:hasLaunchedOnceKey])
{
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:hasLaunchedOnceKey];
[[NSUserDefaults standardUserDefaults] synchronize]; //Saves the data
}
我在哪里:
static NSString *hasLaunchedOnceKey = @"HasLaunchedOnce";
在@implementation語句之前聲明。
請參閱此以獲取詳盡的教程。
**注意:您無需在任何類型的plist文件afaik中聲明任何內容。 您只需檢查並設置這些鍵,如果它們不存在,它們將被動態創建。 無論如何,對我來說就是這樣。
編程愉快!
我的方法太簡單了..您不需要采用任何其他變量。 初始化時,將按鈕標簽設置為零,然后再使用它。
- (IBAction)checkButton : (id)sender {
if ([sender tag] == 0) {
[sender setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateNormal];
[sender setTag:1];
} else {
[sender setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
[sender setTag:0];
}
}
謝謝與歡呼..可能會有所幫助..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.