我试图在文本字段中打开日期选择器。 显示以下错误。
代码如下:
import Foundation
import UIKit
class tableview : UITableViewController {
@IBOutlet weak var dateTextField: UITextField!
@IBAction func textFieldEditing(sender: UITextField) {
let datePickerView:UIDatePicker = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.Date
sender.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(UITableViewController.datePickerValueChanged), forControlEvents: UIControlEvents.ValueChanged)
}
func datePickerValueChanged(sender:UIDatePicker) {
let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle
dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle
dateTextField.text = dateFormatter.stringFromDate(sender.date)
**strong text**
}
答案 0 :(得分:0)
试试吧,
datePickerView.addTarget(self, action: #selector(self.datePickerValueChanged(_:)), forControlEvents: UIControlEvents.ValueChanged)
你缺少该功能的参数。
希望这会对你有所帮助。
答案 1 :(得分:0)
为类tableview命名。(tableview - > TableViewController)。
对于添加目标,你必须编写类nmae.so这里是类名(tableview - > TableViewController)
如果您正在将IBOutlet用于textfield,请将inputView代码放在viewDidLoad中。
尝试以下代码。
import Foundation
import UIKit
class TableViewController : UITableViewController {
@IBOutlet weak var dateTextField: UITextField!
func viewDidLoad(){
super.viewDidLoad()
let datePickerView:UIDatePicker = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.Date
dateTextField.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(TableViewController.datePickerValueChanged), forControlEvents: UIControlEvents.ValueChanged)
}
@IBAction func textFieldEditing(sender: UITextField) {
}
func datePickerValueChanged(sender:UIDatePicker) {
let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle
dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle
dateTextField.text = dateFormatter.stringFromDate(sender.date)
**strong text**
}
答案 2 :(得分:0)
datePickerView.addTarget(self, action: "datePickerValueChanged:", forControlEvents: UIControlEvents.ValueChanged)
或
datePickerView.addTarget(self, action: #selector(datePickerValueChanged(_:)), forControlEvents: UIControlEvents.ValueChanged)