22

我试图在 iPad 和 iPhone 的 UITextField 的 Tap 或 Click 上显示 UIAlertView。我制作了一个 IBAction 并使用 UITextField 的 Tap Down 事件附加它。

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

- (IBAction) TopuchState
{
    //function code
}

请帮助我怎么能这样做。

在此处输入图像描述

4

5 回答 5

29

由于您已经订阅了 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;
}
于 2012-04-06T14:53:32.510 回答
26

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

 [textField1 addTarget:delegate action:@selector(textField1Active:) forControlEvents:UIControlEventEditingDidBegin];
于 2012-04-07T06:32:07.420 回答
4

我认为如果您设置委托UITextField并实现该方法会更容易:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField

然后在该方法中,您可以轻松创建并显示您的UIAlertView.

看看UITextFieldDelegate

祝你好运!

于 2012-04-06T14:51:36.347 回答
4

在斯威夫特 3

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

self.textField.addTarget(self, action: #selector(textFieldTouched(_:)), for: UIControlEvents.editingDidBegin)

func textFieldTouched(textField: UITextField) {
//Show AlertView
}
于 2017-08-18T04:26:26.717 回答
1

将 TextField 与委托连接,现在调用此函数!!

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {       
   textView.text=@"   ";
   return YES;
}
于 2016-11-25T12:06:04.550 回答