NSUserDefaultsキーに値を保存するsosSwitchという名前の UISwitchがあります: MySwitchとsosBtnという名前のUIButtonがあります。NSUserDefaultsに保存されたスイッチ値に応じてsosBtnを表示/非表示にするにはどうすればよいですか? そして、どこにコードを配置する必要がありますか? ビューでDidLoad? ありがとうございました!
5766 次
1 に答える
2
すでに持っていると仮定します:
@property (retain, nonatomic) IBOutlet UIButton *sosBtn;
@property (retain, nonatomic) IBOutlet UISwitch *sosSwich;
- (IBAction)sosSwitch:(id)sender;
これを試して:
-(void)viewDidLoad
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"MySwitch"])
{
self.sosBtn.hidden = NO;
[self.sosSwich setOn:YES animated:YES];
}
else
{
self.sosBtn.hidden = YES;
[self.sosSwich setOn:NO animated:YES];
}
}
- (IBAction)sosSwitch:(id)sender
{
UISwitch *mySosSwitch = (UISwitch *)sender;
if (mySosSwitch.on)
{
self.sosBtn.hidden = NO;
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"MySwitch"]; //YES means sosBtn should be visible
[[NSUserDefaults standardUserDefaults] synchronize];
}
else
{
self.sosBtn.hidden = YES;
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"MySwitch"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
}
于 2012-05-03T19:50:28.807 に答える