【Swift】 UITextFieldタップ時にUIDatePickerを表示する方法
以下のように、UITextFieldのタップ時にUIDatePickerを表示する方法を記載。
日本語のサイトにSwiftのver4.0での実装方法が載っておらず、苦戦したため備忘です。
1.story boadにUITextFieldを配置し、ソースコードに関連付け
@IBOutlet var dateTextField: UITextField!
2.UITextFieldDelegateプロトコルを宣言
UITextFieldDelegate
例
class ViewController: UIViewController, UITextFieldDelegate {
3.viewDidLoadでdatePickerのインスタンスを生成し、フォーマットした値をtextFieldに入れる
override func viewDidLoad() { super.viewDidLoad() dateTextField.delegate = self let datePicker = UIDatePicker() // ②日本の日付表示形式にする datePicker.locale = NSLocale(localeIdentifier: "ja_JP") as Locale datePicker.addTarget(self, action: #selector(ViewController.datePickerValueChange(sender:)), for: UIControlEvents.valueChanged) dateTextField.inputView = datePicker }