UITextFieldをタップしたらUIDatePickerが出るようにする方法
UITextFieldをタップしたら普通はiPhoneのキーボードが出るようになっていますが、これはあくまでキーボードであって、UIDatePickerは出ないんですよねー、意外と。
でも、UITextFieldをタップしたらUIDatePickerが出てきて、クルクル回しながら日付設定して、選んだ日付がまたUITextFieldに表示されるような設定がしたいんですよね。
で、いろいろググったところ、以下の方法で設定することができました!
①.hファイルにデリゲートを入力し、UIDatepickerのプロパティを宣言する
②- (void)viewDidLoadのところに、デリゲートの設定をする
③デリゲートメソッドでキーボードの代わりにUIDatepickerが出るようにする
これについて、コードを交えながら見ていきます。
①.hファイルにデリゲートを入力し、UIDatepickerのプロパティを宣言する
@interface FirstViewController : UIViewController <UITextFieldDelegate>
②- (void)viewDidLoadのところに、デリゲートの設定をする
// デリゲート先を設定
[self.showDate setDelegate:self];
(※showDateはUITextFieldの部分です。)
③デリゲートメソッドでキーボードの代わりにUIDatepickerが出るようにする
-(void)textFieldDidBeginEditing:(UITextField*)textField
{
[textField resignFirstResponder];
pick = [[UIDatePicker alloc] initWithFrame:CGRectMake(0,154,320,120)];
pick.datePickerMode = UIDatePickerModeDate;
[pick addTarget:self action:@selector(done) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:pick];
}