2016-08-16 67 views
1

我在使用EditingDidBegin事件触发器时遇到问题。我有UITextFiled我已经触发了编辑,所以我必须尝试显示datePicker。它第一次能够触发事件它已经显示datePicker。选择datePicker后,我又试了一次,试着编辑textField。它引发了这个事件。所以它显示的是键盘而不是datePickerEditingDidBegin事件不是第二次在swift中触发

+3

请显示您尝试的代码,以便更好地了解您尝试的内容。 –

+0

@IBAction func SelectExpireDate(sender:UITextField){ textFieldShouldReturn(self.ExpireDate); calling_date_picker; } – vara

回答

1

如何:

实现您的视图控制器上的UITextFieldDelegate协议:

class ViewController: UIViewController, UITextFieldDelegate { ... 

确保视图控制器是挂接作为的UITextField的故事板的委托。

然后,实现textFieldShouldBeginEditing功能:

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { 
    print("show date picker") 
    return false 
} 

返回false意味着该文本字段将永远不会开始编辑,这样你就可以在日期选择器来代替。

上面的代码将显示每个UITextField中委托给该视图控制器的每个抽头的日期选择器。如果你想要比那更好的控制,那么你需要连接一个引用插座并检查textFieldShouldBeginEditing以查看它是否是正确的文本字段。或者你可以使用标签(唉)。

相关问题