iOS - 挂钩到.EditingDidEndOnExit

时间:2015-09-19 18:54:37

标签: ios swift uitextfield uidatepicker

我有一系列表单字段(UITextField),它们的“完成”操作(我更改为“下一步”)能够将firstResponder设置为下一个字段,这样当用户是填写他们可以点击旁边的字段以继续进行:

fields[i-1].addTarget(fields[i], action: "becomeFirstResponder", forControlEvents: UIControlEvents.EditingDidEndOnExit)

但是,在表单的中间我有一个带有datePicker的字段作为inputView,当用户选择日期时我想要相同的功能:

[![在此处输入图像说明] [1]] [1]

所以基本上,用户会选择一个日期,并且.EditingDidEndOnExit会触发,这将由上面的代码适当处理。

2 个答案:

答案 0 :(得分:2)

我有类似的设置,但在inputAccessoryView上有一个下一步按钮:

let nextButton = UIBarButtonItem(title: "Next", style: .Done, target: self, action: #selector(dismissPicker))

要模拟相关字段上的返回键EditingDidEndOnExit事件,请致电sendActionsForControlEvents

func dismissPicker() {
    pickerField.resignFirstResponder()
    pickerField.sendActionsForControlEvents(.EditingDidEndOnExit)
}

答案 1 :(得分:1)

当用户旋转滚轮时,日期选择器会发出.ValueChanged。因此,将其挂钩到您将该文本字段.EditingDidEndOnExit挂钩到的任何内容。或者把它挂钩别的东西。但关键是你可以直接回复被更改的日期选择器。