agf*_*105 21 datepicker nsdate swift
我有一个文本字段,当它被选中时,弹出一个日期选择器而不是键盘,但它只在第一次更新今天的日期.用户更改日期,但文本字段不会继续更新.问题是什么?
这就是我调用Datepicker并控制输入到我的文本字段的日期的方法:
@IBAction func dp(sender: UITextField) {
var DatePickerView : UIDatePicker = UIDatePicker()
DatePickerView.datePickerMode = UIDatePickerMode.Date
textfieldjobdate.inputView = DatePickerView
DatePickerView.addTarget(self, action: Selector("handleDatePicker"), forControlEvents: UIControlEvents.ValueChanged)
}
func handleDatePicker() {
var DatePickerView : UIDatePicker = UIDatePicker()
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy"
textfieldjobdate.text = dateFormatter.stringFromDate(DatePickerView.date)
}
Run Code Online (Sandbox Code Playgroud)
Ash*_*lls 57
您的handleDatePicker方法DatePicker每次调用时都会实例化一个新方法.您需要向函数添加一个参数以传入发送方(DatePicker在func中创建dp)
@IBAction func dp(_ sender: UITextField) {
let datePickerView = UIDatePicker()
datePickerView.datePickerMode = .date
sender.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(handleDatePicker(sender:)), for: .valueChanged)
}
@objc func handleDatePicker(sender: UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy"
textfieldjobdate.text = dateFormatter.string(from: sender.date)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51229 次 |
| 最近记录: |