読者です 読者をやめる 読者になる 読者になる

よいちろ日記

忘れないようにメモ。

UIDatePicker 実装。

がとてもシンプルでやりたいことの構造が見えて助かった。
 
UITextFieldのinputViewプロパティに、
UIDatePicker *datePicker= [[UIDatePicker alloc]init];
〜略〜
_testText.inputView = datePicker;
と設定することで、
通常のキーボードの代わりに、UIDatePickerが出てきれくれる。
 
閉じるボタンは、inputAccessoryViewプロパティでViewを追加してUI実装。
UITextFieldのresignFirstResponderメソッドで閉じる。
_testText.inputAccessoryView = accessoryView;
〜略〜
[self.testText resignFirstResponder];
 
 
つまづき部分は、以下。@selectorの形でメソッドを呼び出すやつ。
[datePicker addTarget:self
                   action:@selector(datePicker_ValueChanged:)
         forControlEvents:UIControlEventValueChanged];
〜略〜
- (void)datePicker_ValueChanged:(id)sender
{
    UIDatePicker *datePicker = sender;
〜略〜
NSLog(@"%@", [df stringFromDate:datePicker.date]);
senderって何渡してるの? 答え→senderについて
イベントを起こした主(ここではdatePicker)をオブジェクトとして(という表現が正しいかは不明だが)渡している。
ので、NSLogのところでやっているように、プロパティなども取得できるということ。