Swift UITextFieldをクリックしてUIDatePickerを表示させる
http://qiita.com/matsuhisa_h/items/4bb9803828efb89e0305
を参考にすれば、出来そうだけど・・・・
結果から申し上げますと、最後の関数がどうも上手くいかない。
なので、func dateToStringを使わない方法で取り敢えず動かした。
此の関数UITextField内に曜日を出すっていうロジックなんですが、配列と日本語の曜日の所が良くないらしい。
理由はわからん。
override func viewDidLoad() { super.viewDidLoad() ((略)) // 日本の「?年?月?日」表示にする datePickerView.locale = NSLocale(localeIdentifier: "ja_JP") // 値が変わった際のイベントを登録する. datePickerView.addTarget(self, action: Selector("handleDatePicker:"), forControlEvents: UIControlEvents.ValueChanged) ((略)) } // 「完了」を押すと閉じる func tappedToolBarBtn(sender: UIBarButtonItem) { dateField.resignFirstResponder() } // 「今日」を押すと今日の日付をセットする func tappedToolBarBtnToday(sender: UIBarButtonItem) { datePickerView.date = NSDate() dateFormat(NSDate()) } func handleDatePicker(sender: UIDatePicker) { dateFormat(sender.date) } func dateFormat(date: NSDate){ var dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyy/MM/dd" dateField.text = dateFormatter.stringFromDate(date) }
UITextViewをクリックすると、キーボードの代わりに、UIDatePickerがにょきっと現れる。