質問: Objective-CでiPhoneアプリ作っている初心者です。 サーバにログインして測位データを送るアプリなのですが、 毎回、IDとパスワードを入力するのが大変なので、ログイン画面に 「IDとパスワードを保存」という項目を作って、チェックした場合は、 次回アプリ起動時に前回のIDとパスワードが入力されている状態にしたいと 考えています。 調べたところ、iPhoneアプリでは標準でチェックボックスがないようですが、 実現可能でしょうか? 本やWEBで調べましたが、なかなかログイン画面の作り方などがなく困っています。 チェックボックス設置が時間がかかるなら、他の手段でもよいと思っています。 詳しい方がいらっしゃれば、教えてください。よろしくお願いします。
回答: iOSにはチェックボックスのやなビューはありませんが、UIButtonと画像があれば実現可能です。 UIButtonにはselectedという選択状態を表すプロパティがあり、それを手動で切り替えます。 ``` - (void)viewDidLoad { [super viewDidLoad]; // ストーリーボードでも設定出来ます [self.checkButton setBackgroundImage:[UIImage imageNamed:"未チェックの画像"] forState:UIControlStateNormal]; [self.checkButton setBackgroundImage:[UIImage imageNamed:"チェックの付いた画像"] forState:UIControlStateSelected]; } - (IBAction)touchButton:(id)sender { // 選択状態を反転 self.checkButton.selected = !self.checkButton.selected; } - (void)login { if (self.checkButton.selected) { // IDとパスワードの保存処理 //キーチェーンへ保存することが望ましいがユーザデフォルトに保存 NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; [ud setObject:"IDをここで保存" forKey:"ID"]; [ud setObject:"PWをここで保存" forKey:"Password"]; [ud synchronize]; } } ```