如何获得UITextField点击事件?

我试图显示UIAlertView点击或点击UITextField iPad和IPhone。 我做了一个IBAction,并附上UITextField的Tap Down事件。

但它不能正常工作,意味着并不总是,在iPhone的情况下,不工作的iPad的情况下

- (IBAction) TopuchState { //function code } 

请帮助我怎么能做到这一点。

在这里输入图像说明

尝试添加特定文本字段开始编辑时的目标( UIControlEventEditingDidBegin ):

  [textField1 addTarget:delegate action:@selector(textField1Active:) forControlEvents:UIControlEventEditingDidBegin]; 

由于您已经订阅了UITextField委托,请实现此方法:

 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"Alert Message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil]; [alert show]; return YES; } 

我认为如果你设置UITextField的委托并实现这个方法会更简单:

 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 

那么在这个方法里面你可以很容易地创build和显示你的UIAlertView

看看UITextFieldDelegate 。

祝你好运!

连接TextField与委托,现在调用这个function!

 -(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { textView.text=@" "; return YES; } 

在Swift 3

在viewDidLoad方法中添加事件.editingDidBegin的特定文本字段的目标

 self.textField.addTarget(self, action: #selector(textFieldTouched(_:)), for: UIControlEvents.editingDidBegin) func textFieldTouched(textField: UITextField) { //Show AlertView }