如何调整通过UIDatePicker设置的日期
How to adjust the date set through UIDatePicker
我正在使用 UIDatePicker
并且能够显示用户从 UIDatePicker
中选择的日期。
我想调整日期并通过单击一些按钮显示 next/previous 日期,但我不知道如何调整 UIDatePicker
日期。
请帮帮我。谢谢你。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var InputTextField: UITextField!
private var datePicker: UIDatePicker?
override func viewDidLoad() {
super.viewDidLoad()
datePicker = UIDatePicker()
datePicker?.datePickerMode = .date
datePicker?.addTarget(self, action: #selector(ViewController.dateChanged(datePicker:)), for: .valueChanged)
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.viewTapped(gestureRecognizer:)))
view.addGestureRecognizer(tapGesture)
InputTextField.inputView = datePicker
}
@objc func viewTapped (gestureRecognizer: UITapGestureRecognizer) {
view.endEditing(true)
}
@objc func dateChanged (datePicker: UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
InputTextField.text = dateFormatter.string(from: datePicker.date)
view.endEditing(true)
}
//From here, it's new
@IBAction func RightArrow(_ sender: UIButton) {
let date = datePicker!.date
if let modifiedDate = Calendar.current.date(byAdding: .day, value: 1, to: date) {
datePicker!.date = modifiedDate
InputTextField.inputView = datePicker
}
}
如果你想做的是用你想要的日期更新UIDatePicker,你可以简单地设置UIDatePicker的日期属性。
let date = datePicker.date
if let modifiedDate = Calendar.current.date(byAdding: .day, value: 1, to: date) {
datePicker.date = modifiedDate
InputTextField.inputView = datePicker
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
InputTextField.text = dateFormatter.string(from: datePicker!.date)
}
我正在使用 UIDatePicker
并且能够显示用户从 UIDatePicker
中选择的日期。
我想调整日期并通过单击一些按钮显示 next/previous 日期,但我不知道如何调整 UIDatePicker
日期。
请帮帮我。谢谢你。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var InputTextField: UITextField!
private var datePicker: UIDatePicker?
override func viewDidLoad() {
super.viewDidLoad()
datePicker = UIDatePicker()
datePicker?.datePickerMode = .date
datePicker?.addTarget(self, action: #selector(ViewController.dateChanged(datePicker:)), for: .valueChanged)
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.viewTapped(gestureRecognizer:)))
view.addGestureRecognizer(tapGesture)
InputTextField.inputView = datePicker
}
@objc func viewTapped (gestureRecognizer: UITapGestureRecognizer) {
view.endEditing(true)
}
@objc func dateChanged (datePicker: UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
InputTextField.text = dateFormatter.string(from: datePicker.date)
view.endEditing(true)
}
//From here, it's new
@IBAction func RightArrow(_ sender: UIButton) {
let date = datePicker!.date
if let modifiedDate = Calendar.current.date(byAdding: .day, value: 1, to: date) {
datePicker!.date = modifiedDate
InputTextField.inputView = datePicker
}
}
如果你想做的是用你想要的日期更新UIDatePicker,你可以简单地设置UIDatePicker的日期属性。
let date = datePicker.date
if let modifiedDate = Calendar.current.date(byAdding: .day, value: 1, to: date) {
datePicker.date = modifiedDate
InputTextField.inputView = datePicker
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
InputTextField.text = dateFormatter.string(from: datePicker!.date)
}