クリックしたときに表示されるボタンのグループがあり、表示されている画像が非表示になっています。状態を保存する最善の方法を知っておく必要があります。再起動すると、クリックされていないビューに戻ることはありません。これは可能ですか?ありがとうございました。非表示のボタンの保存
-(IBAction)Act1 {
Act1Button.hidden = YES;
}
-(IBAction)De1 {
Act1Button.hidden = NO;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// initialization
}
return self;
}
- (IBAction)savedata:(id)sender
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setValue:@"myValue" forKey:@"mykey"];
[defaults synchronize];
}
- (void)viewDidLoad
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if (![userDefaults valueForKey:@"mykey"]) {
[userDefaults setValue:@"myValue" forKey:@"mykey"];
NSLog(@"setting value");
}
[userDefaults synchronize];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
@end
'@interface testViewController : UIViewController
{
IBOutlet UIButton *Act1Button;
IBOutlet UIButton *De1Button;
}
@property (retain, nonatomic) IBOutlet UIButton *Act1Button;
@property (retain, nonatomic) IBOutlet UIButton *De1Button;
- (IBAction)Act1;
- (IBAction)De1;
-(IBAction)savedata:(id)sender;
@end`
私はそれを読んできましたが、コードを置く必要がある場所には意味がありません。例はありますか?また、ボタンごとにこれを行う必要がありますか?再度、感謝します。 –
誰かがボタンを押すたびに、NSUserDefaultsに状態を書き込み、現在のユーザーのデフォルトを永続メモリに書き込む[[NSUserDefaults standardUserDefaults] synchronize]を実行します。あなたのアプリが起動すると、あなたはその状態を読み、それに基づいて行動します。あなたのコードを見ることなくそれ以上に入るのは難しいです。お役に立てれば。 – pho0
私は何か間違っています。ホームボタンを押してアプリを再起動すると保存してリロードすることができますが、メニュー画面に戻ると変更が失われます。コードを先頭に追加しました。私が本当に助けてくれることを願っています!再度、感謝します。 –