Apple Swift Datepicker作为键盘

Ksl*_*man 8 swift

我正在尝试使用Swift单击文本控件时显示日期选择器.

我是这样做的:

var DatePickerView: UIDatePicker = UIDatePicker()
DatePickerView.datePickerMode = UIDatePickerMode.Date
txtBirthdate.inputView = DatePickerView
Run Code Online (Sandbox Code Playgroud)

现在,当用户点击文本框而不是键盘时,我们会得到一个日期选择器,问题在于这一行:

DatePickerView.addTarget(self, action: "handelDatePicker", forControlEvents: UIControlEvents.ValueChanged)
Run Code Online (Sandbox Code Playgroud)

我像这样处理控件:

func handelDatePicker()
{
    txtBirthdate.text = dateFormatter.stringFromDate(DatePickerView.date)
}
Run Code Online (Sandbox Code Playgroud)

我不知道发生了什么,它一直给我一个无效的选择器异常,有人想出来了,我知道Swift很新.

Eri*_*rik 5

您应该使用Selector初始化程序包装 action 参数:

DatePickerView.addTarget(self, action: Selector("handelDatePicker"), forControlEvents: UIControlEvents.ValueChanged)
Run Code Online (Sandbox Code Playgroud)

我正在从您的代码中逐字复制它,但“句柄”似乎也拼错了。