Interface Builderを使用してスイッチをxibファイルにドラッグすると、IBで状態をオン/オフに設定できます。次回アプリが起動するまでスイッチの状態を保存して、スイッチを閉じる前と同じ状態にする方法はありますか?
3 に答える
3
NSUserDefaultsを使用して保存できます。
最初にスイッチを IBOutlet として接続します
@property (weak, nonatomic) IBOutlet UISwitch *mySwitch;
また、スイッチを IBAction、イベント タイプ「Value Changed」として接続します。
- (IBAction)switched:(id)sender;
次に、UIViewController のviewDidLoad
BOOL savedState = [[NSUserDefaults standardUserDefaults] boolForKey:@"mySwitch"];
[self.mySwitch setOn:savedState];
そして新しいswitched:
アクションで
- (IBAction)switched:(id)sender
{
if (sender == self.mySwitch)
{
[[NSUserDefaults standardUserDefaults] setBool:self.mySwitch.isOn forKey:@"mySwitch"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
}
お役に立てれば。
于 2012-12-20T10:03:48.803 に答える
2
この目的でNSUserDefaultsを使用できます。
次のようにスイッチの状態を保存します。
BOOL yourSwitchState = yourSwitch.on;
[[NSUserDefaults standardUserDefaults] setBool:yourSwitchState forKey:@"Switch"];
ユーザーのviewWillAppear
デフォルトから値を取得し、次のように切り替えるように設定します。
BOOL switchState = [[NSUserDefaults standardUserDefaults] boolForKey:@"Switch"];
yourSwitch.on = switchState;
于 2012-12-20T09:58:34.017 に答える
0
これを試して、
- (void)handleSwitch:(UISwitch *)スイッチ
{
もし (スイッチオン)
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"SwitchState"];
}
そうしないと
{ //
[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"SwitchState"];
}
}
次回アプリ起動時
switch.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"SwitchState"];
于 2012-12-20T09:58:08.467 に答える