swift4 UIDatePicker에서 UITextfield로 출력까지
동지들(초학자)에게 누구라도 사용할 수 있도록 씁니다.
이런 식으로 UITextfield를 선택하면 UIDatePicker가 시작됩니다.
날짜 지정 → 지정된 날짜를 출력하는 방법에 대한 Tips.
날짜 표시를 위한 UITextfield 준비
UITextfield를 storyboard의 uivewcontroller에 배치.
outlet으로 연결해 둡니다.
@IBOutlet weak var dateField: UITextField!
실제 코드가이 녀석
BirthdayViewController.swiftimport UIKit
class BirthdayViewController: UIViewController {
//UITextfieldに紐づいてる
@IBOutlet weak var dateField: UITextField!
//UIDatePickerを定義するための変数
var datePicker: UIDatePicker = UIDatePicker()
override func viewDidLoad() {
super.viewDidLoad()
// ピッカー設定
datePicker.datePickerMode = UIDatePickerMode.date
datePicker.timeZone = NSTimeZone.local
datePicker.locale = Locale.current
dateField.inputView = datePicker
// 決定バーの生成
let toolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height: 35))
let spacelItem = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil)
let doneItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(done))
toolbar.setItems([spacelItem, doneItem], animated: true)
// インプットビュー設定(紐づいているUITextfieldへ代入)
dateField.inputView = datePicker
dateField.inputAccessoryView = toolbar
}
// UIDatePickerのDoneを押したら発火
@objc func done() {
dateField.endEditing(true)
// 日付のフォーマット
let formatter = DateFormatter()
//"yyyy年MM月dd日"を"yyyy/MM/dd"したりして出力の仕方を好きに変更できるよ
formatter.dateFormat = "yyyy年MM月dd日"
//(from: datePicker.date))を指定してあげることで
//datePickerで指定した日付が表示される
dateField.text = "\(formatter.string(from: datePicker.date))"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
다음 번에는 지정된 날짜부터 나이를 얻을 수 있습니다.
Reference
이 문제에 관하여(swift4 UIDatePicker에서 UITextfield로 출력까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ryomaDsakamoto/items/ab4ae031706a8133f193
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
@IBOutlet weak var dateField: UITextField!
BirthdayViewController.swift
import UIKit
class BirthdayViewController: UIViewController {
//UITextfieldに紐づいてる
@IBOutlet weak var dateField: UITextField!
//UIDatePickerを定義するための変数
var datePicker: UIDatePicker = UIDatePicker()
override func viewDidLoad() {
super.viewDidLoad()
// ピッカー設定
datePicker.datePickerMode = UIDatePickerMode.date
datePicker.timeZone = NSTimeZone.local
datePicker.locale = Locale.current
dateField.inputView = datePicker
// 決定バーの生成
let toolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height: 35))
let spacelItem = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil)
let doneItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(done))
toolbar.setItems([spacelItem, doneItem], animated: true)
// インプットビュー設定(紐づいているUITextfieldへ代入)
dateField.inputView = datePicker
dateField.inputAccessoryView = toolbar
}
// UIDatePickerのDoneを押したら発火
@objc func done() {
dateField.endEditing(true)
// 日付のフォーマット
let formatter = DateFormatter()
//"yyyy年MM月dd日"を"yyyy/MM/dd"したりして出力の仕方を好きに変更できるよ
formatter.dateFormat = "yyyy年MM月dd日"
//(from: datePicker.date))を指定してあげることで
//datePickerで指定した日付が表示される
dateField.text = "\(formatter.string(from: datePicker.date))"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
다음 번에는 지정된 날짜부터 나이를 얻을 수 있습니다.
Reference
이 문제에 관하여(swift4 UIDatePicker에서 UITextfield로 출력까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryomaDsakamoto/items/ab4ae031706a8133f193텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)