我将UIPickerView设置为UITextField的输入。我怎么知道用户何时按下UITextField?
我已经尝试过TouchDown
和EditingDidStart
事件,但是它们不会触发。
将事件链接到方法的代码如下
myTextField.addTarget(self, action: #selector(myMethod), for: .<Event>)
答案 0 :(得分:2)
使用func textFieldDidBeginEditing(_ textField: UITextField)
中的委托方法UITextFieldDelegate
并且不要忘记成为yourTextField.delegate = self
之类的文本字段委托
https://developer.apple.com/documentation/uikit/uitextfielddelegate/1619590-textfielddidbeginediting
答案 1 :(得分:1)
您需要在项目中添加UITextFieldDelegate
,然后将其委托给您的文本字段,如:
class yourClassName: UIViewController , UITextFieldDelegate {
@IBOutlet weak var yourTextField: UITextField!
override func viewDidLoad()
{
super.viewDidLoad()
yourTextField.delegate = self
}
}
您需要实施
func textFieldDidBeginEditing(_ textField: UITextField) {
//Code here
}