Apple Swift日期选择器作为键盘
我试图在使用Swift单击文本控件时显示日期选择器 我是这样做的:Apple Swift日期选择器作为键盘,swift,Swift,我试图在使用Swift单击文本控件时显示日期选择器 我是这样做的: var DatePickerView: UIDatePicker = UIDatePicker() DatePickerView.datePickerMode = UIDatePickerMode.Date txtBirthdate.inputView = DatePickerView 现在,当用户点击文本框而不是键盘时,我们会得到一个日期选择器,问题在于这一行: DatePickerView.addTarget(self,
var DatePickerView: UIDatePicker = UIDatePicker()
DatePickerView.datePickerMode = UIDatePickerMode.Date
txtBirthdate.inputView = DatePickerView
现在,当用户点击文本框而不是键盘时,我们会得到一个日期选择器,问题在于这一行:
DatePickerView.addTarget(self, action: "handelDatePicker", forControlEvents: UIControlEvents.ValueChanged)
我这样处理控件:
func handelDatePicker()
{
txtBirthdate.text = dateFormatter.stringFromDate(DatePickerView.date)
}
我不知道发生了什么,它一直给我一个无效的选择器异常,是否有人发现了这一点,我知道Swift是非常新的。您应该用
选择器
初始值设定项包装动作参数:
DatePickerView.addTarget(self, action: Selector("handelDatePicker"), forControlEvents: UIControlEvents.ValueChanged)
我从您的代码中逐字复制它,但“句柄”似乎拼写错误。使用“handelDataPicker”而不是“handelDataPicker:”这不是新问题。正如@BryanChen指出的,您需要从方法签名中删除冒号(:)。冒号表示该方法将有一个参数,但实际上它没有。很抱歉输入错误,但在我使用的实际代码中,它拼写正确。您能显示您的实际代码吗?@0x7fffffff♦ , 我已经删除了冒号,仍然是同一个问题。我看到苹果只使用了一个简单的字符串作为选择器名称,所以我不认为这是问题的根源。@BrianTracy可能,它的核心选择器只是字符串。但除此之外,我看不出代码有任何错误。我想我也在苹果文档中读到,你可以只使用字符串,我想我会试试看!我唯一能想到的另一件事是Xcode表现得很疯狂,因为它的输入输出,苹果的一些文档是错误的,加上选择器初始化器工作得像个冠军。我希望他们在xcode最终发布之前更新文档。