未経験からのiPhoneアプリ開発blog

iPhoneアプリ開発の独学をしています。学習した内容をメモ的に記録していきます。

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];

}